DeleteFilesW

Функция DeleteFilesW вызывается для удаления файлов из эмулируемой файловой системы
(Far Manager плагину: "этот (эти) файлы с твоей панели нужно удалить").
intptr_t WINAPI DeleteFilesW(
  const struct DeleteFilesInfo *Info
);

Параметры

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

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

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

Замечания

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

Пример

intptr_t WINAPI DeleteFilesW(const struct DeleteFilesInfo *Info)
{
  struct PluginPanelItem * curPI=&Info->PanelItem[0];
  for(int CurItem=0; CurItem<Info->ItemsNumber; CurItem++, curPI++)
  {
    wchar_t *File=curPI->FileName;
    if(!RemoveFileFromFS(File))
    {
      wchar_t *MsgItems[]={L"Delete failed",L"",L"OK"};
      MsgItems[1] = GetErrorStringFS();
      Message(&MainGUID,&MsgGUID,0,NULL,MsgItems,sizeof(MsgItems)/sizeof(MsgItems[0]),1);
      return 0;
    }
  }
  return 1;
}
Смотрите также: