Win32 API 日本語リファレンス
ホーム › System.Diagnostics.Debug › PSYM_ENUMSYMBOLS_CALLBACKW

PSYM_ENUMSYMBOLS_CALLBACKW

コールバック

シグネチャ

BOOL PSYM_ENUMSYMBOLS_CALLBACKW(
    LPWSTR SymbolName,
    DWORD SymbolAddress,
    DWORD SymbolSize,
    void* UserContext
);

パラメーター

フィールド型説明
SymbolNameLPWSTRシンボルの名前。 SymSetOptions 関数で SYMOPT_UNDNAME オプションが使用されている場合、この名前は装飾が解除された (undecorated) 形式になることがあります。
SymbolAddressDWORDシンボルの先頭の仮想アドレス。
SymbolSizeDWORDシンボルのサイズ (バイト単位)。このサイズは計算によって求められる推定値です。場合によっては 0 になることがあります。
UserContextvoid*SymEnumerateSymbols64 で指定されたユーザー定義の値、または NULL。通常このパラメーターは、コールバック関数が何らかのコンテキストを確立できるように、アプリケーションがデータ構造体へのポインターを渡すために使用します。

公式ドキュメント

SymEnumerateSymbols64 関数と共に使用されるアプリケーション定義のコールバック関数です。列挙されたシンボルごとに 1 回呼び出され、シンボルの情報を受け取ります。

PSYM_ENUMSYMBOLS_CALLBACK64 型および PSYM_ENUMSYMBOLS_CALLBACK64W 型は、このコールバック関数へのポインターを定義します。 SymEnumerateSymbolsProc64 は、アプリケーション定義の関数名のプレースホルダーです。

メモ この関数は互換性のためにのみ提供されています。アプリケーションでは SymEnumSymbols を使用してください。

戻り値

この関数が TRUE を返した場合、列挙は続行されます。

この関数が FALSE を返した場合、列挙は停止します。

解説(Remarks)

呼び出し元のアプリケーションは、すべてのシンボルが列挙されるか、列挙コールバック関数が FALSE を返すまで、シンボルごとに 1 回呼び出されます。

このコールバック関数は、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
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)