次の方法で共有


SymFindFileInPathW 関数 (dbghelp.h)

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

構文

BOOL IMAGEAPI SymFindFileInPathW(
  [in]           HANDLE                   hprocess,
  [in, optional] PCWSTR                   SearchPath,
  [in]           PCWSTR                   FileName,
  [in, optional] PVOID                    id,
  [in]           DWORD                    two,
  [in]           DWORD                    three,
  [in]           DWORD                    flags,
  [out]          PWSTR                    FoundFile,
  [in, optional] PFINDFILEINPATHCALLBACKW 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 パラメーターは、元のイメージのコード ビュー デバッグ ディレクトリにある PDB 署名を指定します。 2 つの パラメーターは PDB の有効期間を指定します。 パラメーター 3 つの は使用されず、0 に設定されます。
  • DbgHelp が実行可能ファイルや .dbg ファイルなどの他の種類のイメージを探している場合、id パラメーターは、PE ヘッダーで見つかった元のイメージの TimeDateStamp を指定します。 パラメーター 2 つの は、PE ヘッダーからも抽出される SizeOfImage フィールドを指定します。 パラメーター 3 つの は使用されず、0 に設定されます。
これらの値はすべて、SymSrvGetFileIndexInfo呼び出すことによって取得できます。

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

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

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

手記

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

必要条件

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

関連項目

DbgHelp 関数 の

SymFindFileInPathProc の

SymInitialize

SymSetSearchPath の

SymSrvGetFileIndexInfo