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 パラメーターの形式。 このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
id パラメーターは DWORD です。 |
|
id パラメーターは、DWORD へのポインターです。 |
|
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 に設定されます。
ディレクトリを検索する場合、この関数はシンボル識別子が既定で一致することを確認しません。 一致するシンボル ファイルが配置されていることを確認するには、SYMOPT_EXACT_SYMBOLSを使用して SymSetOptions 関数を呼び出します。
この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | dbghelp.h |
Library | DbgHelp.lib |
[DLL] | DbgHelp.dll |
再頒布可能パッケージ | DbgHelp.dll 5.1 以降 |