Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

ВВЕДЕНИЕ В COM



 

COM–Component Object Model

Основная концепция: разделение двоичного кода

 
 

 


Вопросы совместимости ложатся на разработчиков компиляторов, а не на разработчиков приложений.

 

Основные понятия:

  • Интерфейс – группа функций
  • Кокласс (COM Object Class) поддерживает интерфейс (реализует его)
  • Сервер COM – двоичный файл, содержащий реализацию одного или нескольких классов
  • Регистрация: сервер должен быть зарегистрирован в системе
  • GUID (Global Unique Identifier) – 126-битное число, идентифицирующее объекты, коклассы
  • HRESULT: используется для возврата значения (тип: doubleword)
  • Библиотека COM – часть ОС, позволяет приложениям работать с COM-объектами

 

Интерфейс IUnknown:

  • Метод AddRef – инкремент счетчика ссылок
  • Метод Release – декремент счетчика ссылок
  • Метод QueryInterface – запрос другого интерфейса

 

Требования к строкам

  • Юникод
  • BSTR – динамические строки
  • Освобождает выделенную строку клиент

 

Создание COM-объектов:

HRESULT CoCreateInstance (

REFCLSID rclsid; // ссылка на класс ID

IUnknown pUnkOuter; // задание внешнего объекта

DWORD dwClsContext; // набор флагов

REFID nid; // ID интерфейса

LPVOID ppv); // адрес указателя (ссылки) на интерфейс

 

Освобождение: IUnknown Release

 

Последовательность работы с одним интерфейсом:

  • Функция CoInitialize инициализирует работу с COM-объектами
  • CoCreateInstance
  • Вызов метода COM
  • Освободить интерфейс
  • CoUnitialize

 

Задачи COM:

  • Объекты на языках высокого уровня
  • Более производительная работа с кодом на языках высокого уровня

 

Знать на экзамене:

  • Технология COM позволяет использовать чужой бинарный код без компиляции. Технология от Microsoft
  • У каждого COM-объекта есть уникальный ID. Пока он не зарегистрирован в реестре – он мёртв
  • COM-объект может подменяться новым (более совершенным).

 




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.