共用方式為


PSYM_ENUMSYMBOLS_CALLBACK回呼函式 (dbghelp.h)

搭配 SymEnumerateSymbols64 函式使用的應用程式定義回呼函式。 它會針對每個列舉符號呼叫一次,並接收符號資訊。

PSYM_ENUMSYMBOLS_CALLBACK64PSYM_ENUMSYMBOLS_CALLBACK64W類型會定義這個回呼函式的指標。 SymEnumerateSymbolsProc64 是應用程式定義函數名稱的預留位置。

注意 此函式僅供相容性使用。 應用程式應該使用 SymEnumSymbols
 

語法

PSYM_ENUMSYMBOLS_CALLBACK PsymEnumsymbolsCallback;

BOOL PsymEnumsymbolsCallback(
  [in]           PCSTR SymbolName,
  [in]           ULONG SymbolAddress,
  [in]           ULONG SymbolSize,
  [in, optional] PVOID UserContext
)
{...}

參數

[in] SymbolName

符號的名稱。 如果 [SYMOPT_UNDNAME] 選項搭配 SymSetOptions 函式使用,則名稱可以取消編碼。

[in] SymbolAddress

符號開頭的虛擬位址。

[in] SymbolSize

符號的大小,以位元組為單位。 大小會計算,而且實際上是最佳猜測值。 在某些情況下,此值可以是零。

[in, optional] UserContext

SymEnumerateSymbols64Null中指定的使用者定義值。 一般而言,這個參數是由應用程式用來傳遞資料結構的指標,讓回呼函式建立某種類型的內容。

傳回值

如果函式傳回 TRUE,列舉將會繼續。

如果函式傳回 FALSE,列舉將會停止。

備註

每個符號都會呼叫呼叫呼叫應用程式一次,直到列舉所有符號或列舉回呼函式傳回 FALSE為止。

此回呼函式會取代 PSYM_ENUMSYMBOLS_CALLBACK 回呼函式。 PSYM_ENUMSYMBOLS_CALLBACK 在 Dbghelp.h 中定義如下。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYM_ENUMSYMBOLS_CALLBACK PSYM_ENUMSYMBOLS_CALLBACK64
#define PSYM_ENUMSYMBOLS_CALLBACKW PSYM_ENUMSYMBOLS_CALLBACK64W
#else
typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(
    __in PCSTR SymbolName,
    __in ULONG SymbolAddress,
    __in ULONG SymbolSize,
    __in_opt PVOID UserContext
    );

typedef BOOL
(CALLBACK *PSYM_ENUMSYMBOLS_CALLBACKW)(
    __in PCWSTR SymbolName,
    __in ULONG SymbolAddress,
    __in ULONG SymbolSize,
    __in_opt PVOID UserContext
    );
#endif

需求

   
目標平台 Windows
標頭 dbghelp.h
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

DbgHelp 函式

SymEnumSymbols

SymEnumerateSymbols64