Share via


PSYM_ENUMSYMBOLS_CALLBACK コールバック関数 (dbghelp.h)

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

PSYM_ENUMSYMBOLS_CALLBACK64型とPSYM_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

シンボルのサイズ (バイト単位)。 サイズは計算され、実際には最適な推測値です。 場合によっては、値を 0 にすることができます。

[in, optional] UserContext

SymEnumerateSymbols64 または NULL で指定されたユーザー定義値。 通常、このパラメーターは、コールバック関数が何らかの種類のコンテキストを確立できるようにするデータ構造へのポインターを渡すためにアプリケーションによって使用されます。

戻り値

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

関数から FALSE が返された場合、列挙は停止します。

解説

呼び出し元のアプリケーションは、すべてのシンボルが列挙されるまで、または列挙コールバック関数が 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

要件

   
対象プラットフォーム Windows
ヘッダー dbghelp.h
再頒布可能パッケージ DbgHelp.dll 5.1 以降

関連項目

DbgHelp 関数

SymEnumSymbols

SymEnumerateSymbols64