-
регистрирую ком сервер этой функцией:
function RegisterServer(const aDllFileName: string; aRegister: Boolean): Boolean; type TRegProc = function: HResult; stdcall; const cRegFuncNameArr: array [Boolean] of PChar = ('DllUnregisterServer', 'DllRegisterServer'); var vLibHandle: THandle; vRegProc: TRegProc; begin Result := False; vLibHandle := LoadLibrary(PChar(aDllFileName)); if vLibHandle = 0 then Exit; @vRegProc := GetProcAddress(vLibHandle, cRegFuncNameArr[aRegister]); if @vRegProc <> nil then Result := vRegProc = S_OK; FreeLibrary(vLibHandle); end;
1.а как сделать функцию типа IsServerRegistered(const aDllFileName: string): Boolean - чтоб определяла, зареган ли com сервер?
2.функция регистрирует com для всех сессий пользователей или только для текущей сессии?
3.регистрация com сервера работает после ребута, да?
-
> как сделать функцию типа IsServerRegistered
Зачем она тебе нужна, объясни ?
> функция регистрирует com для всех сессий пользователей или > только для текущей сессии?
Подобная функция обычно просто регистрирует/дерегестрирует фабрику класса в реестре, и к сессиям это не имеет отношения.
> регистрация com сервера работает после ребута, да?
Нет. Соотв.ф-ка класса позволяет создавать объекты этого класса сразу после регистрации.
|