EnumDirTreeW 函数 (dbghelp.h)

枚举指定目录树中指定文件的所有匹配项。

语法

BOOL IMAGEAPI EnumDirTreeW(
  [in, optional]  HANDLE                 hProcess,
  [in]            PCWSTR                 RootPath,
  [in]            PCWSTR                 InputPathName,
  [out, optional] PWSTR                  OutputPathBuffer,
  [in, optional]  PENUMDIRTREE_CALLBACKW 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 调用此回调函数。 如果回调函数返回 TRUEEnumDirTree 取消搜索。

所有 DbgHelp 函数(如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将来自多个线程的所有并发调用同步到此函数。

若要调用此函数的 Unicode 版本,请定义DBGHELP_TRANSLATE_TCHAR。

注意

dbghelp.h 标头将 EnumDirTree 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
目标平台 窗户
标头 dbghelp.h
Dbghelp.lib
DLL Dbghelp.dll
可再发行组件 DbgHelp.dll 6.0 或更高版本

另请参阅

DbgHelp 函数

EnumDirTreeProc