SymEnumerateSymbols 関数 (dbghelp.h)

指定したモジュールのすべてのシンボルを列挙します。

メモ この関数は互換性のためにのみ提供されます。 アプリケーションでは、より高速で強力 な SymEnumSymbols を使用する必要があります。
 

構文

DBHLP_DEPRECIATED BOOL IMAGEAPI SymEnumerateSymbols(
  [in]           HANDLE                    hProcess,
  [in]           ULONG                     BaseOfDll,
  [in]           PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                     UserContext
);

パラメーター

[in] hProcess

プロセスのハンドル。 このハンドルは、 SymInitialize 関数に以前に渡されている必要があります。

[in] BaseOfDll

シンボルを列挙するモジュールのベース アドレス。

[in] EnumSymbolsCallback

シンボル情報を受け取るコールバック関数。 詳細については、「 SymEnumerateSymbolsProc64」を参照してください。

[in, optional] UserContext

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

戻り値

関数が成功した場合、戻り値は TRUE になります

関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

解説

SymEnumerateSymbols64 関数は、指定したモジュールのすべてのシンボルを列挙します。 モジュール情報は BaseOfDll パラメーターによって配置されます。 コールバック関数はシンボルごとに 1 回呼び出され、各シンボルの情報が渡されます。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョン である SymEnumerateSymbolsW64 は、Dbghelp.h で次のように定義されています。


BOOL
IMAGEAPI
SymEnumerateSymbolsW64(
    __in HANDLE hProcess,
    __in ULONG64 BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK64W EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

この関数は SymEnumerateSymbols 関数よりも 優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 SymEnumerateSymbols は、Dbghelp.h で次のように定義されています。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymEnumerateSymbols SymEnumerateSymbols64
#define SymEnumerateSymbolsW SymEnumerateSymbolsW64
#else
BOOL
IMAGEAPI
SymEnumerateSymbols(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );

BOOL
IMAGEAPI
SymEnumerateSymbolsW(
    __in HANDLE hProcess,
    __in ULONG BaseOfDll,
    __in PSYM_ENUMSYMBOLS_CALLBACKW EnumSymbolsCallback,
    __in_opt PVOID UserContext
    );
#endif

要件

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

関連項目

DbgHelp 関数

SymEnumSymbols

SymEnumerateSymbolsProc64

SymInitialize