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 以降 |