Поделиться через


функция обратного вызова PSYM_ENUMSYMBOLS_CALLBACK (dbghelp.h)

Определяемая приложением функция обратного вызова, используемая с функцией SymEnumerateSymbols64 . Он вызывается один раз для каждого перечисленного символа и получает сведения о символе.

Типы PSYM_ENUMSYMBOLS_CALLBACK64 и PSYM_ENUMSYMBOLS_CALLBACK64W определяют указатель на эту функцию обратного вызова. SymEnumerateSymbolsProc64 — это заполнитель для имени функции, определяемой приложением.

Примечание Эта функция предоставляется только для обеспечения совместимости. Приложения должны использовать SymEnumSymbols.
 

Синтаксис

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 или более поздней версии

См. также раздел

Функции DbgHelp

SymEnumSymbols

SymEnumerateSymbols64