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