SymFindFileInPath 関数 (dbghelp.h)

シンボル ファイルまたは実行可能イメージを検索します。

構文

BOOL IMAGEAPI SymFindFileInPath(
  [in]           HANDLE                  hprocess,
  [in, optional] PCSTR                   SearchPath,
  [in]           PCSTR                   FileName,
  [in, optional] PVOID                   id,
  [in]           DWORD                   two,
  [in]           DWORD                   three,
  [in]           DWORD                   flags,
  [out]          PSTR                    FoundFile,
  [in, optional] PFINDFILEINPATHCALLBACK callback,
  [in, optional] PVOID                   context
);

パラメーター

[in] hprocess

SymInitialize 関数に最初に渡されたプロセスのハンドル。

[in, optional] SearchPath

検索パス。 複数のパスをセミコロンで区切って指定できます。 ディレクトリとシンボル サーバーの両方を含めることができます。 このパラメーターが NULL の場合、関数は SymSetSearchPath 関数または SymInitialize 関数を使用して検索パス セットを使用します。

[in] FileName

ファイルの名前です。 パスを指定できます。ただし、ファイル名のみが使用されます。

[in, optional] id

3 つの識別パラメーターの 1 つ目 (「解説」を参照)。

[in] two

3 つの識別パラメーターの 2 番目 (「解説」を参照)。

[in] three

3 つの識別パラメーターの 3 番目 (「解説」を参照)。

[in] flags

id パラメーターの形式。 このパラメーターには、次の値のいずれかを指定できます。

意味
SSRVOPT_DWORD
0x0002
id パラメーターは DWORD です
SSRVOPT_DWORDPTR
0x0004
id パラメーターは、DWORD へのポインターです。
SSRVOPT_GUIDPTR
0x0008
id パラメーターは GUID へのポインターです。

[out] FoundFile

シンボル ファイルへの完全修飾パスを受け取るバッファーへのポインター。 このバッファーは、少なくともMAX_PATH文字である必要があります。

[in, optional] callback

SymFindFileInPathProc コールバック関数。

[in, optional] context

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

戻り値

サーバーが有効なシンボル ファイルを見つけると、 TRUE が返されます。それ以外の場合は FALSE を 返し、 GetLastError はシンボル ファイルが返されなかった理由を示す値を返します。

注釈

識別パラメーターは、次のように入力されます。

  • DbgHelp が .pdb ファイルを探している場合、 id パラメーターは、元のイメージの codeview デバッグ ディレクトリにある PDB 署名を指定します。 パラメーター 2 は PDB の有効期間を指定します。 パラメーター 3 は使用されず、0 に設定されます。
  • DbgHelp が実行可能ファイルや .dbg ファイルなどの他の種類のイメージを探している場合、 id パラメーターは、PE ヘッダーにある元のイメージの TimeDateStamp を指定します。 パラメーター 2 は、PE ヘッダーからも抽出される SizeOfImage フィールドを指定します。 パラメーター 3 は使用されず、0 に設定されます。
これらの値はすべて、 SymSrvGetFileIndexInfo を呼び出すことによって取得できます。

ディレクトリを検索する場合、この関数はシンボル識別子が既定で一致することを確認しません。 一致するシンボル ファイルが配置されていることを確認するには、SYMOPT_EXACT_SYMBOLSを使用して SymSetOptions 関数を呼び出します。

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

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

要件

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

こちらもご覧ください

DbgHelp 関数

SymFindFileInPathProc

SymInitialize

SymSetSearchPath

SymSrvGetFileIndexInfo