GetFiles

Функция GetFiles вызывает для получения файлов из эмулируемой файловой системы
(FAR плагину: "хочу этот/эти файл(ы) с твоей панели, место назначения указано").
int WINAPI GetFiles(
  HANDLE hPlugin,
  struct PluginPanelItem *PanelItem,
  int ItemsNumber,
  int Move,
  char *DestPath,
  int OpMode
);

Параметры

hPlugin
Описатель плагина, возвращается функциями OpenPlugin или OpenFilePlugin.
PanelItem
Указывает на массив структур PluginPanelItem. Каждая структура описывает файл, получаемый из эмулируемой файловой системы.
ItemsNumber
Количество структур PluginPanelItem в массиве PanelItem.
Move
Если 0, файл должен быть скопирован, иначе - перемещен.
DestPath
Путь назначения (куда получим файлы). Если флаг OpMode OPM_SILENT не установлен, вы можете позволить пользователю изменить его, но в этом случае новый путь должен быть скопирован в DestPath.
OpMode
Комбинация флагов operation mode. Эта функция должна быть готова обработать флаги OPM_SILENT, OPM_FIND, OPM_VIEW, OPM_QUICKVIEW и OPM_EDIT. Также она может обрабатывать OPM_DESCR и OPM_TOPLEVEL для увеличения скорости, если это необходимо.

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

В случае успеха возвращаемое значение должно быть равно 1. В случае провала возвращается 0. Если функция была прервана пользователем, то должно возвращаться -1.

Замечания

  1. Плагин должен сам обрабатывать "свои" папки.
  2. Если операция не удалась, но часть файлов была успешно обработана, плагин может снять выделение только с обработанных файлов. Чтобы сделать это, он должен очистить флаг PPIF_SELECTED в обработанных элементах в переданном функции списке структур PluginPanelItem.
  3. Данная функция вызывается только для плагинов, реализующих виртуальные файловые системы. Для этого необходимо при вызове GetOpenPluginInfo снять флаг OPIF_REALNAMES, иначе данная функция никогда не будет вызвана.
Смотрите также:
PutFiles, GetDirList, GetPluginDirList