Шаг 86 - Удаленный запуск компонентов

Любой компонент COM не обязательно должен находиться на том компьютере, на котором Вы работаете. В COM реализуется технология под именем прозрачность местонахождения. Во первых указать где находиться необходимый компонент можно использовав ключ реестра RemoteServerName. Если операционная система здесь найдет имя компьютера, то она попытается активизировать компонент на удаленном компьютере. Этот способ довольно удобен для запуска компонентов на удаленном компьютере. Вот шаблон нахождения этого ключа.

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\APPID\{AppID_value}\RemoteServerName = server_name

Второй способ заключается в том, что можно программно указать местонахождение COM объекта. Для того, что бы создать удаленный экземпляр наиболее часто используются функции.

CoGetClassObject
CoCreateInstanceEx

Обе эти функции используют структуру -

typedef struct  _COSERVERINFO
{
    DWORD dwReserved1;
    LPWSTR pwszName;
    COAUTHINFO  *pAuthInfo;
    DWORD dwReserved2;
}   COSERVERINFO;

В параметре pwszName указываться имя удаленного компьютера. Имя может быть в любом формате лишь бы сеть поняла. Например -

L"123.12.23.34"
L"//MyHost"
L"aport.ru"

Есть еще несколько функций для запуска компонентов.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.