GetFilesW

Programming Far Manager plugins

GetFilesW

Функция GetFilesW вызывается для получения файлов из эмулируемой файловой системы
(Far Manager плагину: "хочу этот/эти файл(ы) с твоей панели, место назначения указано").
intptr_t WINAPI GetFilesW(
  struct GetFilesInfo *Info
);

Параметры

Info
Указатель на структуру GetFilesInfo. Far Manager передает информацию об элементах, которые он запросил для обработки. Плагин может изменять некоторые значения полей структуры в этой функции.
В начале функции проверьте, что поле GetFilesInfo.StructSize >= sizeof(GetFilesInfo).

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

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

Замечания

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

Пример

Пример из плагина "ProcList".
intptr_t WINAPI GetFilesW(struct GetFilesInfo *Info)
{
  return ((Plist *)Info->hPanel)->GetFiles(Info->PanelItem,(int)Info->ItemsNumber,Info->Move,&Info-;>DestPath,Info->OpMode);
}
Смотрите также: