GetFindDataW
Функция
(Far Manager плагину: "дай-ка я взгляну на списочек твоих файлов, память сам выдели :-)").
GetFindDataW
вызывается для получения списка файлов из текущего каталога эмулируемой файловой системы(Far Manager плагину: "дай-ка я взгляну на списочек твоих файлов, память сам выдели :-)").
intptr_t WINAPI GetFindDataW( struct GetFindDataInfo *Info );
Параметры
Info
Указатель на структуру GetFindDataInfo. Плагин передает Far Manager'у информацию об элементах (список файлов) для панели.
В начале функции проверьте, что поле
В начале функции проверьте, что поле
GetFindDataInfo.StructSize >= sizeof(GetFindDataInfo)
.Возвращаемое значение
Если функция выполнила свои действия успешно, то верните
1
. В противном случае 0
.
Замечания
- В этой функции плагин динамически формирует список элементов, если это происходит, то необходимо позаботиться об освобождении памяти, когда список уже не нужен, т.е. не забыть бы про экспортирование функции FreeFindDataW.
- Если функция вернёт
0
, то плагин будет закрыт. - В некоторых случаях (пример: поиск в архивах по Alt+F7) физически панель плагина не создаётся, поэтому необходимо обязательно проверять код возврата у PanelControl, чтобы не упасть в самый не подходящий момент, выполнив работу для панели, которой нет.
- Если вы не хотите, чтобы ваш плагин использовался во время "поиска в архивах" ("[x] Искать в архивах" в диалоге поиска),
то возвращайте
0
в случае, еслиOpMode
содержит флагOPM_FIND
.
Пример
Пример из плагина "ProcList".
intptr_t WINAPI GetFindDataW(struct GetFindDataInfo *Info) { return ((Plist *)Info->hPanel)->GetFindData(Info->PanelItem,Info->ItemsNumber,Info->OpMode); }
Смотрите также: