GetFilesW
Функция
(Far Manager плагину: "хочу этот/эти файл(ы) с твоей панели, место назначения указано").
GetFilesW
вызывается для получения файлов из эмулируемой файловой системы(Far Manager плагину: "хочу этот/эти файл(ы) с твоей панели, место назначения указано").
intptr_t WINAPI GetFilesW( struct GetFilesInfo *Info );
Параметры
Info
Указатель на структуру GetFilesInfo. Far Manager передает информацию об элементах, которые он запросил для обработки. Плагин может изменять некоторые значения полей структуры в этой функции.
В начале функции проверьте, что поле
В начале функции проверьте, что поле
GetFilesInfo.StructSize >= sizeof(GetFilesInfo)
.Возвращаемое значение
- В случае успеха возвращаемое значение должно быть равно
1
. - В случае провала возвращаться
0
. - Если функция была прервана пользователем, то должно возвращаться
-1
.
Замечания
- Плагин должен сам обрабатывать "свои" папки.
- Если операция не удалась, но часть файлов была успешно обработана, плагин может снять выделение только с обработанных файлов. Чтобы сделать это,
он должен очистить флаг PPIF_SELECTED в обработанных элементах в переданном функции списке структур
PluginPanelItem
. - Данная функция вызывается только для плагинов, реализующих виртуальные файловые системы. Для этого необходимо при вызове 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); }
Смотрите также: