# 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);
    }

Смотрите также:
PutFilesW, GetDirList, GetPluginDirList