SetStartupInfoW
Функция
SetStartupInfoW
вызывается один раз, после загрузки DLL-модуля в память. Far Manager передаёт плагину информацию, необходимую для дальнейшей работы.
void WINAPI SetStartupInfoW( const struct PluginStartupInfo *Info );
Параметры
Info
Указатель на структуру PluginStartupInfo.
В начале функции проверьте, что поле
PluginStartupInfo.StructSize >= sizeof(PluginStartupInfo)
.Возвращаемое значение
Нет.
Замечания
- Эта функция вызывается сразу же после вызова функции GetGlobalInfoW.
- Указатель
Info
действителен только в области видимости данной функции (до выхода из функции), так что структура должна копироваться во внутреннюю переменную плагина для дальнейшего использования:static struct PluginStartupInfo Info; ... void WINAPI SetStartupInfoW(const struct PluginStartupInfo *Info) { if (Info->StructSize >= sizeof(PluginStartupInfo)) ::Info=*Info; ... }
- Если в плагине используются стандартные функции из структуры FarStandardFunctions,
то член PluginStartupInfo.FSF также должен быть сохранён в локальное пространство плагина:
static struct PluginStartupInfo Info; static struct FarStandardFunctions FSF; void WINAPI SetStartupInfoW(const struct PluginStartupInfo *Info) { if (Info->StructSize >= sizeof(PluginStartupInfo)) { ::Info=*Info; FSF=*Info->FSF; ::Info.FSF=&FSF; // скорректируем адрес в локальной структуре ... } }
Смотрите также: