PluginPanelItem
описывает элемент файловой системы плагина. Она используется для возвращения информации о файловой системе плагина и для передачи плагину списка файлов для обработки.
struct PluginPanelItem { FILETIME CreationTime; FILETIME LastAccessTime; FILETIME LastWriteTime; FILETIME ChangeTime; unsigned __int64 FileSize; unsigned __int64 AllocationSize; const wchar_t *FileName; const wchar_t *AlternateFileName; const wchar_t *Description; const wchar_t *Owner; const wchar_t * const *CustomColumnData; size_t CustomColumnNumber; PLUGINPANELITEMFLAGS Flags; struct { void *Data; FARPANELITEMFREECALLBACK FreeData; } UserData; uintptr_t FileAttributes; uintptr_t NumberOfLinks; uintptr_t CRC32; intptr_t Reserved[2]; };
Description
в NULL
. Если плагин
использует стандартную обработку описаний Far Manager'а, и передал имена описаний Far Manager'у в функции GetOpenPanelInfoW, это поле также должно быть NULL
.NULL
.C0
до C99
. Если вы не нуждаетесь в дополнительных типах колонок, установите это поле в NULL
.Флаг | Описание |
---|---|
PPIF_PROCESSDESCR | Использовать внутреннюю обработку описаний Far Manager'а. Этот флаг может быть установлен для обрабатываемых файлов в функциях DeleteFilesW, GetFilesW и PutFilesW. В этом случае Far Manager будет обновлять файлы описаний с именами, возвращёнными в функции GetOpenPanelInfoW. |
PPIF_SELECTED | Этот флаг отвечает за выделение элемента. В функциях PutFilesW, GetFilesW и ProcessHostFileW, если операция не удалась, но часть файлов была успешно обработана, плагин может убрать выделение только с обработанных файлов. Для этого плагин должен очистить флаг PPIF_SELECTED у обрабатываемых элементов в переданном функции списке PluginPanelItem . |
PPIF_NONE | Нулевой флаг. |
UserData.Data
указывает на структуру данных и требуется её освобождение, то плагин должен определить функцию UserData.FreeData, используемую Far Manager'ом для освобождения занятых ресурсов.Атрибут | Описание |
---|---|
FILE_ATTRIBUTE_ARCHIVE | Это архивный файл. Приложения должны использовать этот флаг для копирования, архивирования или удаления. |
FILE_ATTRIBUTE_COMPRESSED | Файл или каталог сжат. Для файла это означает, что все данные его сжаты, для каталога - что компрессия по умолчанию применяется ко всем его файлам и подкаталогам. |
FILE_ATTRIBUTE_DIRECTORY | Это каталог. |
FILE_ATTRIBUTE_ENCRYPTED | Файл или каталог зашифрован. Для файла, это означает, что все данные в файле зашифрованы. Для директория, это означает, что шифрование является умолчанием для вновь созданных файлов и подкаталогов. |
FILE_ATTRIBUTE_HIDDEN | Файл скрыт. Такой файл не включается в обычный листинг каталога. |
FILE_ATTRIBUTE_NORMAL | У этого файла не установлены другие атрибуты. Это значение корректно только при использовании без остальных флагов. |
FILE_ATTRIBUTE_OFFLINE | Данные файла не доступны непосредственно. Означает, что реальные данные файла были физически перемещены на устройства хранения. |
FILE_ATTRIBUTE_READONLY | Файл только для чтения. Приложения могут читать такой файл, но не могут записывать или удалять его. |
FILE_ATTRIBUTE_REPARSE_POINT | Каталог является точкой повторной обработки. |
FILE_ATTRIBUTE_SPARSE_FILE | Файл является т.н. "Sparse file". |
FILE_ATTRIBUTE_SYSTEM | Этот файл - часть операционной системы. |
FILE_ATTRIBUTE_TEMPORARY | Это временный файл. Приложения должны записывать в такой файл только в крайней необходимости. Большая часть данных файла находится в памяти и не сбрасывается на диск, так как файл будет удален. |
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | Этот файл или каталог не будут индексироваться службой индексирования. |
FILE_ATTRIBUTE_VIRTUAL | Этот файл - виртуальный файл. |
0
.FileName
, AlternateFileName
, Description
, Owner
и CustomColumnData
, должны быть освобождены им.
Far Manager создаёт копии этих данных в своих внутренних структурах. Таким образом они могут быть освобождены в любой момент после передачи Far Manager'у в
функции GetFindDataW.
FileName
, а усеченная версия формата 8.3 сохраняется в AlternateFileName
. Иначе AlternateFileName
пусто.
AlternateFileName
может содержать любую строку сформированную плагином, т.е. за содержимое отвечает опрашиваемый плагин.