次の方法で共有


SearchTreeForFile 関数 (dbghelp.h)

ディレクトリ ツリーで指定したファイルを検索します。

構文

BOOL IMAGEAPI SearchTreeForFile(
  [in]  PCSTR RootPath,
  [in]  PCSTR InputPathName,
  [out] PSTR  OutputPathBuffer
);

パラメーター

[in] RootPath

関数がファイルの検索を開始するパス。

[in] InputPathName

関数が検索するファイル。 部分パスを使用できます。

[out] OutputPathBuffer

見つかったファイルへの完全パスを受け取るバッファーへのポインター。 戻り値が FALSE の場合、この文字列は変更されません。

戻り値

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

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

解説

関数は、RootPath パラメーターで指定されたパスから InputPathName パラメーターで指定されたファイルを検索します。 RootPath で許可される最大パスの深さは、32 個のディレクトリです。 関数は、ディレクトリ ツリー内のファイルを検索すると、 OutputPathBuffer パラメーターで指定されたバッファー内のファイルへの完全なパスを配置します。 基になるファイル システムは、サブディレクトリ検索の順序を指定します。

SymRegisterCallbackProc64 コールバック関数を登録すると、検索を取り消すことができます。 SearchTreeForFile は、検索されるすべてのディレクトリについて、このコールバック関数を CBA_DEFERRED_SYMBOL_LOAD_CANCEL で呼び出します。 コールバック関数が TRUE を返した場合、 SearchTreeForFile は 検索を取り消します。

この関数は、検索されたディレクトリごとに 1 つのCBA_DEFERRED_SYMBOL_LOAD_CANCEL イベントをトリガーします。 これにより、呼び出し元は検索を取り消すことができます。

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

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

要件

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

関連項目

DbgHelp 関数