На этом шаге мы рассмотрим работу с OLE/COM Object Viewer.
На этом шаге мы изучим особенности реализации СОМ-объектов и элементов управления на базе ActiveX. С помощью средств просмотра объектов OLE/COM Object Viewer Вы обратитесь к реестру и исследуете СОМ-объекты и ActiveX-элементы.
Рис.1. Средство просмотра OLE/COM Object Viewer
Этот список содержит несколько интерфейсов. IUnknown поддерживает получение указателя на интерфейс. Реализация интерфейса IDispatch позволяет языкам сценариев типа VBScript обрашаться к этому СОМ-объекту. Наиболее часто используемый клиентами интерфейс - _Connection. Он содержит методы, позволяюшие подключаться к источникам данных.
Посмотрев содержание подраздела InprocServer32 в разделе CLSID в правой панели, Вы увидите, что там указан путь к oleaut32.dll - маршалеру Automation. Таким образом, за маршалинг этого интерфейса отвечает маршалер Automation, а это означает, что при передаче параметров и получении значений, возвращаемых методами этого интерфейса, Вы должны использовать только типы, оддерживаемые Automation (типы, которые можно упаковывать в структуре данных VARIANT).
В разделе TypeLib находится подраздел Win32 со значением "C:\Program Files\Common Files\ADO\MSADO15.DLL", значит, библиотека типов скомпонована в DLL-сервера.
Дважды щелкните интерфейс _Connection. Откроется диалоговое окно Default Interface Viewer.
Рис.2. Окно ITypeInfo Viewer
Первая запись - это диспетчерский идентификатор. Ниже находятся параметры, передаваемые Вашим клиентским приложением в этот метод. Обратите внимание на использование только типов, поддерживаемых Automation.
Со следующего шага мы начнем рассматривать создание COM-компонентов.