Функция 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 или более поздней версии |