OpenPlugin

Функция OpenPlugin вызывается при создании новой копии плагина.
HANDLE WINAPI OpenPlugin(
  int OpenFrom,
  INT_PTR Item
);

Параметры

OpenFrom
Идентификатор, определяющий, откуда был вызван плагин. Может принимать одно из следующих значений (перечисление OPENPLUGIN_OPENFROM):
КонстантаОписание
OPEN_DISKMENU Открыт из меню дисков
OPEN_PLUGINSMENU Открыт из меню плагинов (F11)
OPEN_FINDLIST Открыт из диалога "поиска файлов" Этот идентификатор плагин получит только в том случае, если он экспортирует функцию SetFindList. Последующий вызов функции SetFindList произойдет только в том случае, если функция OpenPlugin вернет значение отличное от INVALID_HANDLE_VALUE.
OPEN_SHORTCUT Открыт через ссылку на папку (Меню Commands|Folder shortcuts)
OPEN_COMMANDLINE Был открыт из командной строки. Этот параметр может использоваться, только если плагин определил вызывающий префикс в функции GetPluginInfo и этот префикс, с двоеточием после него, был указан в командной строке.
OPEN_EDITOR Открыт из редактора
OPEN_VIEWER Открыт из встроенной программы просмотра
OPEN_DIALOG Открыт из диалога
Item
Интерпретация параметра зависит от OpenFrom:

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

Если функция завершается успешно, то возвращаемое значение - описатель плагина. Этот описатель позже будет передаваться другим функциям плагина для того, чтобы позволить им различать различные копии загруженного плагина. Формат и содержание описателя не важны для FAR'а - они могут быть, к примеру, адресом внутреннего объекта плагина, или адресом структуры с данными плагина или любым другим уникальным идентификатором, отличным от нуля.

В случае неудачного завершения функции, возвращаемое значение должно равняться INVALID_HANDLE_VALUE.

Замечания

  1. Вы можете использовать эту функцию для реализации плагинов, работающих без создания файловых панелей. Просто выполните все необходимые действия и верните INVALID_HANDLE_VALUE.
  2. Если функция вернет ноль, то FAR Manager выгрузит плагин из памяти.