# PutFilesW

Функция `PutFilesW` вызывается Far Manager для перемещения файлов на панель эмулируемой файловой системы.
(Far Manager плагину: "этот/эти файл(ы) для тебя, можешь поместить на свою панель").

    intptr_t WINAPI PutFilesW(
      const struct PutFilesInfo *Info
    );

### Параметры

Info
Указатель на заполненную структуру PutFilesInfo, содержит перемещаемые элементы.
В начале функции проверьте, что поле `PutFilesInfo.StructSize >= sizeof(PutFilesInfo)`.

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

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

### Замечания

1. Если операция была прервана, но часть файлов всё же была скопирована, плагин может убрать выделение только с обработанных файлов. Для этого он должен сбросить флаг PPIF_SELECTED у соответствующих структур файлов, передаваемых в функцию через параметр `PutFilesInfo.PanelItem`.

### Пример

Пример из плагина "TmpPanel".

    intptr_t WINAPI PutFilesW(const struct PutFilesInfo *Info)
    {
      TmpPanel *Panel=(TmpPanel *)Info->hPanel;
      return Panel->PutFiles(Info->PanelItem,Info->ItemsNumber,Info->Move,Info->SrcPath,Info->OpMode);
    }

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