I am using SymEnumSymbols
to get all the matching symbols to a given mask, and push them into a vector using the CALLBACK function. The problem is, that the symbol name (which is inside the PSYMBOL_INFO
structure) is only the name of the function, and not the whole signature.. For example, I have this function:
TestMe!GetImageProcAddress (struct HINSTANCE__ *hi, int num)
When I call SymEnumSymbols
with the mask "TestMe!GetImageProcAddress"
, and prints the name of the matched symbol, I get:
printf("%s\n", pSymInfo->Name); // Prints: GetImageProcAddress
But I want it to print one of these:
TestMe!GetImageProcAddress (struct HINSTANCE__ *, int)
GetImageProcAddress (struct HINSTANCE__ *, int)
So my question - is there any way to get the full symbol signature (name of the function + type of parameters)? I was able to iterate through the parameters using SymSetContext
, then SymEnumSymbols
and filtering with the flag SYMFLAG_PARAMETER
- but I don't know how to get the types of the parameters..
Thanks!