DBGHELP: Implement SymGetSymFromAddr64

Frank Richter frank.richter at gmail.com
Sun May 28 11:54:33 CDT 2006


On 26.05.2006 21:17, Eric Pouech wrote:
>> +/******************************************************************
>> + *        SymGetSymFromAddr (DBGHELP.@)
>> + *
>> + */
>> +BOOL WINAPI SymGetSymFromAddr64(HANDLE hProcess, DWORD64 Address,
>> +                                PDWORD64 Displacement,
>> PIMAGEHLP_SYMBOL64 Symbol)
>> +{
>> +    char        buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME];
>> +    SYMBOL_INFO*si = (SYMBOL_INFO*)buffer;
>> +    size_t      len;
>> +
>> +    if (Symbol->SizeOfStruct < sizeof(*Symbol)) return FALSE;
>> +    si->SizeOfStruct = sizeof(*si);
>> +    si->MaxNameLen = MAX_SYM_NAME;
>> +    if (!SymFromAddr(hProcess, Address, &Displacement, si))

Also, generally, wouldn't it be more correct to call SymFromAddr from
SymFromAddr64 and not vice versa? Ie forward from more limited to less
limited functions, and not from less limited to more limited functions
(the limitation being here that SymFromAddr() only supports 32 bit
addresses etc, while SymFromAddr64() also supports 64 bit ones).

-f.r.



More information about the wine-devel mailing list