OpenInfo
Структура
OpenInfo используется для возвращения Far Manager'ом информации о плагине в функцию OpenW.
struct OpenInfo
{
size_t StructSize;
enum OPENFROM OpenFrom;
const GUID *Guid;
intptr_t Data;
};
Элементы
StructSize
Это поле содержит размер структуры
OpenInfo.OpenFrom
Идентификатор, определяющий, откуда был вызван плагин. Может принимать одно из следующих значений (перечисление OPENFROM):
| Константа | Описание |
|---|---|
| OPEN_LEFTDISKMENU | Открыт из левого меню "Сменить диск" (Alt+F1). |
| OPEN_PLUGINSMENU | Открыт из меню "Команды внешних модулей" (F11). |
| OPEN_FINDLIST | Открыт из диалога "Поиск файла". Этот идентификатор плагин получит только в том случае, если он экспортирует функцию SetFindListW.
Последующий вызов функции SetFindListW произойдёт только в том случае, если функция OpenW вернёт значение отличное от NULL. |
| OPEN_SHORTCUT | Открыт через ссылку на папку в меню "Команды" - "Ссылки на папки". |
| OPEN_COMMANDLINE | Был открыт из командной строки. Этот параметр может использоваться, только если плагин определил вызывающий префикс в функции GetPluginInfoW и этот префикс, с двоеточием после него, был указан в командной строке. |
| OPEN_EDITOR | Открыт из редактора. |
| OPEN_VIEWER | Открыт из встроенной программы просмотра. |
| OPEN_FILEPANEL | Открыт из панелей. |
| OPEN_DIALOG | Открыт из диалога. |
| OPEN_ANALYSE | Открыт после анализа содержимого файла (например, архива) |
| OPEN_RIGHTDISKMENU | Открыт из правого меню "Сменить диск" (Alt+F2). |
| OPEN_FROMMACRO | Открыт из макрокоманды макрофункцией Plugin.Call. |
| OPEN_LUAMACRO | Открыт для проверки или исполнения Lua-макроскрипта. |
Guid
GUID выбранного элемента в списке пунктов, экспортированном данным плагином в меню "Диск", "Команды внешних модулей".
Data
Интерпретация параметра зависит от
OpenFrom:
| Константа | Описание |
|---|---|
| OPEN_LEFTDISKMENU | Этот параметр всегда равен 0. |
| OPEN_PLUGINSMENU | Этот параметр всегда равен 0. |
| OPEN_FINDLIST | Этот параметр всегда равен 0. |
| OPEN_SHORTCUT | Этот параметр равен адресу структуры OpenShortcutInfo, данные в момент сохранения горячей клавиши. |
| OPEN_COMMANDLINE | Этот параметр равен адресу структуры OpenCommandLineInfo, данные о командной строке. |
| OPEN_EDITOR | Этот параметр всегда равен 0. |
| OPEN_VIEWER | Этот параметр всегда равен 0. |
| OPEN_FILEPANEL | Этот параметр всегда равен 0. |
| OPEN_DIALOG | Этот параметр равен адресу структуры OpenDlgPluginData, данные о диалоге. |
| OPEN_ANALYSE | Этот параметр равен адресу структуры OpenAnalyseInfo, данные о файле-контейнере. Вы должны освободить их так, как будто бы получили их в CloseAnalyseW |
| OPEN_RIGHTDISKMENU | Этот параметр всегда равен 0. |
| OPEN_FROMMACRO | Этот параметр равен адресу структуры OpenMacroInfo. |
Смотрите также: