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


Функция 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. Базовая файловая система задает порядок поиска подкаталога.

Поиск можно отменить, если зарегистрировать функцию обратного вызова SymRegisterCallbackProc6 4. Для каждого поиска в каталоге SearchTreeForFile вызывает эту функцию обратного вызова с CBA_DEFERRED_SYMBOL_LOAD_CANCEL. Если функция обратного вызова возвращает TRUE, SearchTreeForFile отменяет поиск.

Эта функция активирует одно событие CBA_DEFERRED_SYMBOL_LOAD_CANCEL для каждого каталога. Это позволяет вызывающему объекту отменить поиск.

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

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

Заметка

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

Требования

Требование Ценность
целевая платформа Виндоус
заголовка dbghelp.h
библиотеки Dbghelp.lib
DLL Dbghelp.dll
распространяемый DbgHelp.dll 5.1 или более поздней версии

См. также

функций DbgHelp