次の方法で共有


EnumDirTree 関数 (dbghelp.h)

指定したディレクトリ ツリー内の指定したファイルのすべての出現箇所を列挙します。

構文

BOOL IMAGEAPI EnumDirTree(
  [in, optional]  HANDLE                hProcess,
  [in]            PCSTR                 RootPath,
  [in]            PCSTR                 InputPathName,
  [out, optional] PSTR                  OutputPathBuffer,
  [in, optional]  PENUMDIRTREE_CALLBACK cb,
  [in, optional]  PVOID                 data
);

パラメーター

[in, optional] hProcess

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

[in] RootPath

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

[in] InputPathName

見つかるファイルの名前。 部分パスを指定できます。

[out, optional] OutputPathBuffer

ファイルの完全パスを受け取るバッファーへのポインター。 関数が失敗した場合、または一致するファイルが見つからない場合でも、このバッファーには最後に見つかった完全パスが含まれます。

このパラメーターは省略可能であり、 NULL にすることができます

[in, optional] cb

アプリケーション定義のコールバック関数、または NULL。 詳細については、「 EnumDirTreeProc」を参照してください。

[in, optional] data

ユーザー定義データまたは NULL。 この値はコールバック関数に渡されます。

戻り値

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

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

解説

SymRegisterCallbackProc64 コールバック関数を登録すると、検索を取り消すことができます。 EnumDirTree は、ファイル操作ごとに、このコールバック関数を CBA_DEFERRED_SYMBOL_LOAD_CANCELで呼び出します。 コールバック関数が TRUE を返した場合、 EnumDirTree は検索を取り消します。

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

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

要件

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

関連項目

DbgHelp 関数

EnumDirTreeProc