Архитектура Microsoft Windows для разработчиков


              

ряд полезных интерфейсов предоставляет OLE


Первые три члена VTBL — из состава интерфейса I Unknown, а последующие относятся к другим поддерживаемым интерфейсам — например, ряд полезных интерфейсов предоставляет OLE (их имена обычно начинаются с 101е). Любой человек, например Вы, вправе определить свои интерфейсы по мере разработки компонентов приложения. Глобально-уникальные идентификаторы Для идентификации интерфейсов и классов компонентов СОМ использует уникальные идентификаторы (Global Unique Identifier, GU1D) — 128-разрядные целые числа, которые гарантированно неповторимы. Имена интерфейсам и классам присваиваются только для удобства, и они достоверны лишь на компьютере, где хранится компонент. Применение уникальных идентификаторов обезопасит Вас от случайного вызова не того элемента, интерфейса или метода даже в сети с миллионами компонентов (рис. 5.4). CLSID и IID Каждый созданный Вами компонент должен иметь уникальный GUID-иденти-фикатор, называемый идентификатором класса (Class Identifier, CLSID); он позволяет ссылаться на компонент. Точно так же каждому интерфейсу Вашего компонента необходимо присвоить персональный GUID-идентификатор — идентификатор интерфейса (Interface Identifier, IID).
Рис. 5.4 Идентификация компонентов Строка идентификатора класса хранится в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID DСOM Распределенная модель многокомпонентных объектов (Distributed Component Object Model, DCOM) — это протокол, обеспечивающий гибкое, защищенное и эффективное взаимодействие программных компонентов в сетевой среде (рис. 5.5).
Рис. 5.5 Границы процессов в распределенной модели СОМ Прежнее название DCOM — Network OLE. Эта спецификация разработана для применения поверх самых разных сетевых транспортов. DCOM основана на спецификации DCE-RPC фонда открытого программного обеспечения (Open Software Foundation, OSF) и, благодаря использованию технологии СОМ, поддерживает Java-апплеты и ActiveX-компоненты. Например, можно средствами Java создать апплет, который вычисляет стоимость портфеля ценных бумаг на основе текущих котировок, отслеживаемых в режиме реального времени через Интернет средствами DCOM. Когда клиент и компонент хранятся на разных машинах, DCOM просто заменяет локальный механизм взаимодействия процессов сетевым протоколом.

Содержание  Назад  Вперед