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


Функция 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, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

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

Требования

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

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

Функции DbgHelp

EnumDirTreeProc