FarRecursiveSearch

Функция FSF.FarRecursiveSearch осуществляет рекурсивный поиск файлов.
void WINAPI FarRecursiveSearch(
  const wchar_t *InitDir,
  const wchar_t *Mask,
  FRSUSERFUNC UserFunc,
  FRSMODE Flags,
  void *Param
);

Параметры

InitDir
Указывает на каталог, откуда начинается поиск, например L"c:\far\plugins"
Mask
Указывает на маску файлов. Маска файла может быть стандартного Far Manager вида.
UserFunc
Указывает на функцию типа FRSUSERFUNC, которая будет вызываться для каждого найденного файла. Функция должна вернуть TRUE для продолжения поиска файлов, или FALSE для окончания поиска.
Flags
Указывает на необходимое действие. Может быть следующим (тип FRSMODE):
ФлагОписание
FRS_RETUPDIR Если FRS_RECUR установлен, вызывать UserFunc для каждого найденного каталога дважды: при входе в него и при возвращении в родительский каталог.
FRS_RECUR Поиск заданного файла в дереве каталогов.
FRS_SCANSYMLINK Позволяет искать файлы в символических связях наравне с обычными подкаталогами.
Param
Указатель на данные пользователя, Far Manager его никак не обрабатывает, просто передаёт в UserFunc.

Возвращаемое значение

См. описание параметра Flags

Замечания

  1. Если хотите использовать данные, переданные функции UserFunc по окончании поиска, вы должны скопировать эти данные во внутренние переменные.
  2. Если флаг FRS_SCANSYMLINK не указан, то независимо от настроек Far Manager, символические ссылки обрабатываться не будут.