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

PSYM_ENUMSYMBOLS_CALLBACK64

コールバック

シグネチャ

BOOL PSYM_ENUMSYMBOLS_CALLBACK64(
    LPSTR SymbolName,
    ULONGLONG SymbolAddress,
    DWORD SymbolSize,
    void* UserContext
);

パラメーター

フィールド型説明
SymbolNameLPSTRシンボルの名前です。 SymSetOptions 関数で SYMOPT_UNDNAME オプションが使用されている場合、名前は装飾なし (undecorated) の形式になることがあります。
SymbolAddressULONGLONGシンボルの先頭を示す仮想アドレスです。
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)