GetPluginInfoW

Programming Far Manager plugins

GetPluginInfoW

Функция GetPluginInfoW вызывается Far Manager для получения дополнительной информации о плагине.
void WINAPI GetPluginInfoW(
  struct PluginInfo *Info
);

Параметры

Info
Указатель на структуру PluginInfo. Плагин заполняет структуру в этой функции.

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

Нет.

Замечания

  1. Функция вызывается для получения информации о плагине перед выполнением следующих действий:
    • перед показом меню конфигурации (Alt+Shift+F9) из функции ConfigureW
    • перед показом меню плагинов (F11)
    • перед показом меню выбора дисков (Alt+F1 / Alt+F2)
    • из командной строки по префиксу (например, net:\\share)
  2. Структура PluginInfo, передаваемая функции GetPluginInfoW, уже заполнена 0. Плагин обязательно должен заполнить поле PluginInfo.StructSize.
  3. Far Manager вызывает функцию GetPluginInfoW достаточно часто, поэтому при проектировании плагина необходимо минимизировать "расчёты", производимые в этой функции.

Пример

// {A540CD77-CAD0-4E96-ADA0-2BAAC8182237}
DEFINE_GUID(MenuGuid, 0xa540cd77, 0xcad0, 0x4e96, 0xad, 0xa0, 0x2b, 0xaa, 0xc8, 0x18, 0x22, 0x37);

void WINAPI GetPluginInfoW(struct PluginInfo *Info)
{
  static const wchar_t *PluginMenuStrings[1];
  PluginMenuStrings[0]=GetMsg(MTitle);

  Info->StructSize=sizeof(struct PluginInfo);
  Info->Flags=PF_EDITOR|PF_DISABLEPANELS;
  Info->PluginMenu.Guids=&MenuGuid;
  Info->PluginMenu.Strings=PluginMenuStrings;
  Info->PluginMenu.Count=sizeof(PluginMenuStrings)/sizeof(PluginMenuStrings[0]);
  Info->PluginConfig.Guids=&MenuGuid;
  Info->PluginConfig.Strings=PluginMenuStrings;
  Info->PluginConfig.Count=sizeof(PluginMenuStrings)/sizeof(PluginMenuStrings[0]);
}
Смотрите также: