Функция SymRegisterFunctionEntryCallback (dbghelp.h)
Регистрирует функцию обратного вызова для использования процедурой выполнения стека на компьютерах Альфа.
Синтаксис
BOOL IMAGEAPI SymRegisterFunctionEntryCallback(
[in] HANDLE hProcess,
[in] PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,
[in] PVOID UserContext
);
Параметры
[in] hProcess
Дескриптор процесса, который изначально был передан в функцию StackWalk64 .
[in] CallbackFunction
Функция обратного вызова SymRegisterFunctionEntryCallbackProc64 .
[in] UserContext
Определяемое пользователем значение или NULL. Это значение просто передается в функцию обратного вызова. Как правило, этот параметр используется приложением для передачи указателя на структуру данных, которая позволяет функции обратного вызова установить определенный контекст.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Функция SymRegisterFunctionEntryCallback64 позволяет приложению регистрировать функцию обратного вызова для использования процедурой выполнения стека. Процедура выполнения стека вызывает зарегистрированную функцию обратного вызова, если ей не удается найти запись таблицы функций для адреса. В большинстве случаев процедура выполнения стека находит записи таблицы функций в таблице функций изображения, содержащего адрес. Однако в ситуациях, когда записи таблицы функций отсутствуют на изображении, этот обратный вызов позволяет отладчику предоставить запись таблицы функций из другого источника. Например, код, созданный во время выполнения на компьютерах Альфа, может определять динамические таблицы функций для поддержки обработки исключений и трассировки стека.
Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Эта функция заменяет функцию SymRegisterFunctionEntryCallback . Дополнительные сведения см. в разделе Обновленная поддержка платформы. SymRegisterFunctionEntryCallback определяется следующим образом в Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymRegisterFunctionEntryCallback SymRegisterFunctionEntryCallback64
#else
BOOL
IMAGEAPI
SymRegisterFunctionEntryCallback(
__in HANDLE hProcess,
__in PSYMBOL_FUNCENTRY_CALLBACK CallbackFunction,
__in_opt PVOID UserContext
);
#endif
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |