Функция SymRegisterCallback (dbghelp.h)
Регистрирует функцию обратного вызова для использования обработчиком символов.
Синтаксис
BOOL IMAGEAPI SymRegisterCallback(
[in] HANDLE hProcess,
[in] PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
[in] PVOID 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 или более поздней версии |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по