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 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。

若要调用此函数的 Unicode 版本,请定义 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
标头 dbghelp.h
Library Dbghelp.lib
DLL Dbghelp.dll
可再发行组件 DbgHelp.dll 5.1 或更高版本

另请参阅

DbgHelp 函数

获取通知

SymInitialize

SymRegisterCallbackProc64