# 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]);
    }

Смотрите также:
PluginInfo