次の方法で共有


SymEnumSymbolsW 関数 (dbghelp.h)

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

構文

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

パラメーター

[in] hProcess

プロセスへのハンドル。 このハンドルは、SymInitialize 関数に渡しておく必要があります。

[in] BaseOfDll

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

[in, optional] Mask

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

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

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

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

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

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

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

[in] EnumSymbolsCallback

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

[in, optional] UserContext

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

戻り値

関数が成功した場合、戻り値は TRUE

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

備考

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

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。

例については、「シンボルの列挙 」を参照してください。

手記

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

必要条件

要件 価値
ターゲット プラットフォーム の ウィンドウズ
ヘッダー dbghelp.h
ライブラリ Dbghelp.lib
DLL Dbghelp.dll
再頒布可能パッケージの DbgHelp.dll 5.1 以降

関連項目

DbgHelp 関数 の

SymEnumSymbolsProc