функция обратного вызова PSYM_ENUMSYMBOLS_CALLBACK (dbghelp.h)
Определяемая приложением функция обратного вызова, используемая с функцией SymEnumerateSymbols64 . Он вызывается один раз для каждого перечисленного символа и получает сведения о символе.
Типы PSYM_ENUMSYMBOLS_CALLBACK64 и PSYM_ENUMSYMBOLS_CALLBACK64W определяют указатель на эту функцию обратного вызова. SymEnumerateSymbolsProc64 — это заполнитель для имени функции, определяемой приложением.
Синтаксис
PSYM_ENUMSYMBOLS_CALLBACK PsymEnumsymbolsCallback;
BOOL PsymEnumsymbolsCallback(
[in] PCSTR SymbolName,
[in] ULONG SymbolAddress,
[in] ULONG SymbolSize,
[in, optional] PVOID UserContext
)
{...}
Параметры
[in] SymbolName
Имя символа. Если параметр SYMOPT_UNDNAME используется с функцией SymSetOptions , имя может быть некооценировано.
[in] SymbolAddress
Виртуальный адрес начала символа.
[in] SymbolSize
Размер символа в байтах. Размер вычисляется и на самом деле является оптимальным значением. В некоторых случаях значение может быть равно нулю.
[in, optional] UserContext
Определяемое пользователем значение, указанное в SymEnumerateSymbols64 или NULL. Как правило, этот параметр используется приложением для передачи указателя на структуру данных, которая позволяет функции обратного вызова установить определенный тип контекста.
Возвращаемое значение
Если функция возвращает значение TRUE, перечисление будет продолжено.
Если функция возвращает значение FALSE, перечисление останавливается.
Комментарии
Вызывающее приложение вызывается один раз для каждого символа, пока не будут перечислены все символы или пока функция обратного вызова перечисления не вернет ЗНАЧЕНИЕ FALSE.
Эта функция обратного вызова заменяет функцию обратного вызова PSYM_ENUMSYMBOLS_CALLBACK . PSYM_ENUMSYMBOLS_CALLBACK в Dbghelp.h определяется следующим образом.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
#define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACK64W
#else
typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(
__in PCSTR SymbolName,
__in ULONG SymbolAddress,
__in ULONG SymbolSize,
__in_opt PVOID UserContext
);
typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(
__in PCWSTR SymbolName,
__in ULONG SymbolAddress,
__in ULONG SymbolSize,
__in_opt PVOID UserContext
);
#endif
Требования
Целевая платформа | Windows |
Header | dbghelp.h |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |