Функция SearchTreeForFileW (dbghelp.h)
Выполняет поиск указанного файла в дереве каталогов.
Синтаксис
BOOL IMAGEAPI SearchTreeForFileW(
[in] PCWSTR RootPath,
[in] PCWSTR InputPathName,
[out] PWSTR OutputPathBuffer
);
Параметры
[in] RootPath
Путь, по которому функция должна начать поиск файла.
[in] InputPathName
Файл, для которого будет выполняться поиск функции. Можно использовать частичный путь.
[out] OutputPathBuffer
Указатель на буфер, получающий полный путь к найденном файлу. Эта строка не изменяется, если возвращаемое значение равно FALSE.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Комментарии
Функция выполняет поиск файла, указанного параметром InputPathName , начиная с пути, указанного в параметре RootPath . Максимальная глубина пути, разрешенная в RootPath , составляет 32 каталога. Когда функция находит файл в дереве каталогов, она помещает полный путь к файлу в буфер, указанный параметром OutputPathBuffer . Базовая файловая система определяет порядок поиска подкаталогов.
Поиск можно отменить, если вы зарегистрировали функцию обратного вызова SymRegisterCallbackProc64 . Для каждого искомого каталога SearchTreeForFile вызывает эту функцию обратного вызова с CBA_DEFERRED_SYMBOL_LOAD_CANCEL. Если функция обратного вызова возвращает значение TRUE, SearchTreeForFile отменяет поиск.
Эта функция активирует одно событие CBA_DEFERRED_SYMBOL_LOAD_CANCEL для каждого искомого каталога. Это позволяет вызывающей стороны отменить поиск.
Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Чтобы вызвать версию этой функции в Юникоде, определите DBGHELP_TRANSLATE_TCHAR.
Примечание
Заголовок dbghelp.h определяет SearchTreeForFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |