PSYMBOL_FUNCENTRY_CALLBACK64回呼函式 (dbghelp.h)
搭配 SymRegisterFunctionEntryCallback64 函式使用的應用程式定義回呼函式。 堆疊逐步程式會呼叫它。
PSYMBOL_FUNCENTRY_CALLBACK64類型會定義這個回呼函式的指標。 SymRegisterFunctionEntryCallbackProc64 是應用程式定義函數名稱的佔位符。
語法
PSYMBOL_FUNCENTRY_CALLBACK64 PsymbolFuncentryCallback64;
PVOID PsymbolFuncentryCallback64(
[in] HANDLE hProcess,
[in] ULONG64 AddrBase,
[in, optional] ULONG64 UserContext
)
{...}
參數
[in] hProcess
原本傳遞至 StackWalk64 函式之進程的句柄。
[in] AddrBase
回呼函式應該傳回函式數據表專案的指令位址。
[in, optional] UserContext
SymRegisterFunctionEntryCallback64 或 NULL 中指定的使用者定義值。 一般而言,這個參數是由應用程式用來傳遞數據結構的指標,讓回呼函式建立一些內容。
傳回值
如果沒有可用的函式數據表專案,則傳回 NULL 值。
成功時,傳回 IMAGE_RUNTIME_FUNCTION_ENTRY 結構的指標。 如需此函式的定義,請參閱頭檔 WinNT.h。
備註
結構必須完全以偵錯的進程形式傳回。 某些成員可能是進程位址空間中其他位置的指標。 您可以呼叫 ReadProcessMemoryProc64 回呼函式,以擷取這些位置的資訊。
呼叫端應用程式會透過已註冊的回呼函式呼叫,因為 呼叫StackWalk64 函式。 呼叫端應用程式必須備妥,才能造成可能的副作用。 如果應用程式只有一個供多個線程使用的回呼函式,則在回呼函式的內容中,可能需要同步處理某些類型的數據存取。
此函式類似於 FunctionTableAccessProc64 回呼函式。 差異在於 FunctionTableAccessProc64 會傳回 IMAGE_FUNCTION_ENTRY 結構,而此函式會傳回 IMAGE_RUNTIME_FUNCTION_ENTRY 結構。
此回呼函式會取代 PSYMBOL_FUNCENTRY_CALLBACK 回呼函式。 PSYMBOL_FUNCENTRY_CALLBACK 定義如下的 Dbghelp.h。
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64
#endif
typedef
PVOID
(CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(
__in HANDLE hProcess,
__in DWORD AddrBase,
__in_opt PVOID UserContext
);
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dbghelp.h |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |