OpenW
вызывается Far Manager'ом для запуска плагина.
HANDLE WINAPI OpenW( const struct OpenInfo *Info );
OpenInfo.StructSize >= sizeof(OpenInfo)
.Eсли функция завершается успешно, то возвращаемое значение - описатель плагина. Этот описатель позже будет передаваться другим функциям плагина для того,
чтобы позволить им различать различные копии загруженного плагина. Формат и содержание описателя не важны для Far Manager'а - они могут быть, к примеру,
адресом внутреннего объекта плагина, или адресом структуры с данными плагина, или любым другим уникальным идентификатором, отличным от нуля.
В случае неудачного завершения функции, возвращаемое значение должно равняться NULL
.
Внимание!
OPEN_FROMMACRO
, то возвращаемое значение формируется по правилам:0
, макросу возвращается false
.1
или INVALID_HANDLE_VALUE
, макросу возвращается true
.Values
структуры
FarMacroCall и вернуть в Far
Manager указатель на эту структуру. Элемент должен быть типа
FMVT_PANEL
. Макросу возвращается значение true
.
NULL
.
PANEL_STOP
.
HANDLE WINAPI OpenW(const struct OpenInfo *OInfo) { Plist* hPlugin = new Plist(); if (OInfo->OpenFrom == OPEN_COMMANDLINE && (NORM_M_PREFIX(reinterpret_cast< LPCWSTR >(OInfo->Data)))) { if (!hPlugin->Connect((wchar_t*)OInfo->Data)) { delete hPlugin; hPlugin = nullptr; } } return hPlugin; }