SymEnumSymbolsExW 関数 (dbghelp.h)

プロセス内のすべてのシンボルを列挙します。

構文

BOOL IMAGEAPI SymEnumSymbolsExW(
  [in]           HANDLE                          hProcess,
  [in]           ULONG64                         BaseOfDll,
  [in, optional] PCWSTR                          Mask,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
  [in, optional] PVOID                           UserContext,
  [in]           DWORD                           Options
);

パラメーター

[in] hProcess

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

[in] BaseOfDll

モジュールのベース アドレス。 この値が 0 で 、Mask に感嘆符 (!) が含まれている場合、関数はモジュール間で検索されます。 この値が 0 で 、Mask に感嘆符が含まれていない場合、関数は SymSetContext 関数によって確立されたスコープを使用します。

[in, optional] Mask

列挙するシンボルの名前を示すワイルドカード文字列。 必要に応じて、テキストにワイルドカード "*" と "?"を含めることができます。

特定のモジュールまたはモジュールのセットを指定するには、モジュールを指定するワイルドカード文字列でテキストを開始し、その後に感嘆符を付けます。 モジュールを指定する場合、 BaseOfDll は無視されます。

意味
Foo
BaseOfDll が 0 でない場合、SymEnumSymbols は "foo" という名前のグローバル シンボルを検索します。

BaseOfDll が 0 の場合、SymEnumSymbols は、SymSetContext 関数の最新の呼び出しによって確立されたスコープ内で "foo" という名前のローカル シンボルを検索します。

Foo。
BaseOfDll が 0 でない場合、SymEnumSymbols は"foo" で始まり、その後に "fool" や "foot" などの 1 つの余分な文字を含むグローバル シンボルを探します。

BaseOfDll が 0 の場合、SymEnumSymbols は "foo" で始まり、その後に "fool" や "foot" などの 1 つの余分な文字を含むシンボルを探します。 検索は、 SymSetContext 関数の最新の呼び出しによって確立されたスコープ内にあります。

foo*!bar

SymEnumSymbols は、"bar" という名前のシンボルのテキスト "foo" で始まる読み込まれたすべてのモジュールを検索します。 "foot!bar"、"footlocker!bar"、"fool!bar" などの一致が見つかります。

*!*

SymEnumSymbols は、読み込まれたすべてのモジュール内のすべてのシンボルを列挙します。

[in] EnumSymbolsCallback

シンボル情報を受け取る SymEnumSymbolsProcW コールバック関数。

[in, optional] UserContext

コールバック関数 ( NULL) に渡されるユーザー定義値。 通常、このパラメーターは、コールバック関数のコンテキストを提供するデータ構造へのポインターを渡すためにアプリケーションによって使用されます。

[in] Options

使用可能なオプションを示します。

意味
SYMENUM_OPTIONS_DEFAULT
1
既定のオプションを使用します。
SYMENUM_OPTIONS_INLINE
2
インライン シンボルを列挙します。

戻り値

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

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

注釈

注意

dbghelp.h ヘッダーは、SymEnumSymbolsEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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