SymSearch 関数 (dbghelp.h)

指定した条件を満たす PDB シンボルを検索します。

構文

BOOL IMAGEAPI SymSearch(
  [in]           HANDLE                         hProcess,
  [in]           ULONG64                        BaseOfDll,
  [in, optional] DWORD                          Index,
  [in, optional] DWORD                          SymTag,
  [in, optional] PCSTR                          Mask,
  [in, optional] DWORD64                        Address,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                          UserContext,
  [in]           DWORD                          Options
);

パラメーター

[in] hProcess

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

[in] BaseOfDll

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

[in, optional] Index

シンボルの一意の値。

[in, optional] SymTag

PDB 分類。 これらの値は、 SymTagEnum 列挙型の Dbghelp.h で定義されています。 説明については、PDB のドキュメントを参照してください。

[in, optional] Mask

列挙するシンボルの名前を示すワイルドカード式。 モジュール名を指定するには、 !mod 構文。

[in, optional] Address

シンボルのアドレス。

[in] EnumSymbolsCallback

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

[in, optional] UserContext

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

[in] Options

この関数の動作を制御するオプション。

意味
SYMSEARCH_ALLITEMS
0x08
すべてのシンボルとその他のデータを .pdb ファイルに含めます。

DbgHelp 6.6 以前: この値はサポートされていません。

SYMSEARCH_GLOBALSONLY
0x04
グローバル シンボルのみを検索します。
SYMSEARCH_MASKOBJS
0x01
内部使用専用です。
SYMSEARCH_RECURSE
0x02
上から再帰して、すべてのシンボルを検索します。

戻り値

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

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

解説

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

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

要件

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

関連項目

DbgHelp 関数

SymEnumSymbolsProc