SymRegisterFunctionEntryCallback 函式 (dbghelp.h)

註冊回調函式,以供 Alpha 電腦上的堆疊逐步執行程式使用。

語法

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 函式可讓應用程式註冊回呼函式以供堆棧逐步執行程式使用。 堆疊逐步執行程式在找不到位址的函式數據表專案時,會呼叫已註冊的回呼函式。 在大部分情況下,堆疊逐步程式會在包含位址之影像的函式數據表中找到函式數據表專案。 不過,在函式數據表專案不在影像中的情況下,此回呼可讓調試程式從另一個來源提供函式數據表專案。 例如,Alpha 電腦上的運行時間產生的程式碼可以定義動態函數表,以支援例外狀況處理和堆疊追蹤。

所有 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
標頭 dbghelp.h
程式庫 Dbghelp.lib
Dll Dbghelp.dll
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

DbgHelp 函式

StackWalk64

SymRegisterFunctionEntryCallbackProc64