C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 86 - Удаленный запуск компонентов / ActiveX по шагам / Приложение

Шаг 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"

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

  • CoGetInstanceFromFile() - создает экземпляр и инициализирует его с помощью имени файла
  • CoGetInstanceFromIStorage() - создает экземпляр и инициализирует его с помощью интерфейса IStorage

| |
Автор Каев Артем.
[AD]