Поделиться через


Функция 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. Если функция обратного вызова возвращает значение TRUE, EnumDirTree отменяет поиск.

Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Чтобы вызвать версию этой функции в Юникоде, определите DBGHELP_TRANSLATE_TCHAR.

Примечание

Заголовок dbghelp.h определяет EnumDirTree в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Целевая платформа Windows
Header dbghelp.h
Библиотека Dbghelp.lib
DLL Dbghelp.dll
Распространяемые компоненты DbgHelp.dll 6.0 или более поздней версии

См. также раздел

Функции DbgHelp

EnumDirTreeProc