DeleteFiles

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

Параметры

hPlugin
Описатель плагина, возвращается функциями OpenPlugin или OpenFilePlugin.
PanelItem
Указатель на массив структур типа PluginPanelItem. Каждая структура описывает файл для удаления.
ItemsNumber
Количество элементов в массиве PanelItem.
OpMode
Комбинация флагов operation mode. Эта функция обязана обрабатывать флаг OPM_SILENT.

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

Если функция выполнила свои действия успешно, то верните TRUE. В противном случае - FALSE.

Замечания

  1. Плагин должен сам обрабатывать "свои" папки.
  2. Хорошим тоном считается вариант, когда плагин перед удалением "попросит" подтвердить пользователя о своих намерениях (см. так же ACTL_GETCONFIRMATIONS, флаги FCS_DELETE и FCS_DELETENONEMPTYFOLDERS)

Пример

int WINAPI DeleteFiles(HANDLE hPlugin, PluginPanelItem *PanelItem,
           int ItemsNumber,int OpMode)
{
  struct PluginPanelItem * curPI=&PanelItem[0];
  for(int CurItem=0;
      CurItem<ItemsNumber;CurItem++,
      curPI++)
  {
    char* aFile=curPI->FindData.cFileName;
    if(!RemoveFileFromFS(aFile))
    {
      char *MsgItems[]={"Delete failed","","OK"};
      MsgItems[1] = GetErrorStringFS();
      Message(MyNumber,0,NULL,MsgItems,
              sizeof(MsgItems)/sizeof(MsgItems[0]),1);
      return(FALSE);
    }
  }
  return(TRUE);
}