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


Функция SymRegisterCallback64 (dbghelp.h)

Регистрирует функцию обратного вызова для использования обработчиком символов.

Синтаксис

BOOL IMAGEAPI SymRegisterCallback64(
  [in] HANDLE                        hProcess,
  [in] PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
  [in] ULONG64                       UserContext
);

Параметры

[in] hProcess

Дескриптор процесса, который изначально был передан в функцию SymInitialize .

[in] CallbackFunction

Функция обратного вызова SymRegisterCallbackProc64 .

[in] UserContext

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

Возвращаемое значение

Если функция выполняется успешно, возвращается значение TRUE.

Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

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

Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Чтобы вызвать версию этой функции в Юникоде, определите DBGHELP_TRANSLATE_TCHAR. SymRegisterCallbackW64 определяется следующим образом в Dbghelp.h.

BOOL
IMAGEAPI
SymRegisterCallbackW64(
    __in HANDLE hProcess,
    __in PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
    __in ULONG64 UserContext
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymRegisterCallback64   SymRegisterCallbackW64
#endif

Эта функция заменяет функцию SymRegisterCallback . Дополнительные сведения см. в разделе Обновленная поддержка платформы. SymRegisterCallback определяется следующим образом в Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterCallback SymRegisterCallback64
#else
BOOL
IMAGEAPI
SymRegisterCallback(
    __in HANDLE hProcess,
    __in PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
    __in_opt PVOID UserContext
    );
#endif

Более подробный пример см. в статье Получение уведомлений.

Требования

Требование Значение
Целевая платформа Windows
Header dbghelp.h
Библиотека Dbghelp.lib
DLL Dbghelp.dll
Распространяемые компоненты DbgHelp.dll 5.1 или более поздней версии

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

Функции DbgHelp

Получение уведомлений

SymInitialize

SymRegisterCallbackProc64