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


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

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

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

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

Синтаксис

PSYM_ENUMSYMBOLS_CALLBACK64 PsymEnumsymbolsCallback64;

BOOL PsymEnumsymbolsCallback64(
  [in]           PCSTR SymbolName,
  [in]           DWORD64 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