MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Перехват методов COM интерфейсов

Название:Перехват методов COM интерфейсов
Просмотров:87
Раздел:Информатика, программирование
Ссылка:Скачать(407 KB)
Описание:Техника перехвата вызовов. Подход ATL. Замена указателей в vtbl. Перехватчик с постобработкой. CoGetInterceptor, CoGetInterceptorFromTypeInfo. Прямые/синхронные вызовы. Косвенные и асинхронные/отложенные вызовы.

Часть полного текста документа:

Перехват методов COM интерфейсов Ivan Andreyev Введение
    В одной из статей RSDN Magazine описывался способ перехвата методов интерфейса IUnknown. Суть этого подхода заключалась в замене указателей на функции QueryInterace, AddRef, Release в VTBL интерфейса и выполнении дополнительной обработки внутри перехватчиков.
    В этой статье мы продолжим обсуждение темы перехвата вызовов методов COM-интерфейсов и познакомимся с API-функциями CoGetInterceptor, CoGetInterceptorFromTypeInfo, позволяющими забыть обо всех технических трудностях и проблемах, связанных с передачей вызова от клиента перехватчику, и от перехватчика - исходному компоненту.
    Технология "перехвата" вызовов API функций, обработчиков оконных сообщений, методов COM-компонентов имеет много общего с шаблоном проектирования Proxy (Заместитель). Суть этой технологии заключается в том, что вызов клиента перенаправляется (с помощью различных технических ухищрений - замена VTBL, Proxy-объект и т.п.) сначала коду заместителя, который выполняет пред- и постобработку, а затем уже - исходному объекту. Благодаря этому можно добавлять новую функциональность, никак не изменяя ни код клиента, ни код сервера.
    Очень широкое распространение технология "перехвата" получила в COM - фундаментальные принципы прозрачности местонахождения компонента (location transparency) и прозрачности типа синхронизации (concurrency transparency) реализуются именно благодаря Proxy-компонентам из инфраструктуры COM, которые имитируют для клиента исходный компонент. С появлением COM+ набор сервисов, которые реализуют перехватчики, расширился еще больше - добавились поддержка транзакций, блокировок для синхронизации доступа к компонентам, поддержка just-in-time активации, ролевая безопасность. За счет того, что эти сервисы реализуются инфраструктурой COM+ прозрачно для клиента и серверных компонентов (хотя серверные COM+-компоненты могут взаимодействовать с инфраструктурой, например, чтобы отменить или подтвердить транзакцию), клиентский код ничего не знает о том, что случится с его вызовом на сервере - будет ли он обслуживаться COM+ или обычным COM-компонентом. Аналогично, один и тот же компонент может использоваться в составе COM+-приложения.
    Помимо предоставления различных сервисов перехват вызовов методов COM-компонентов позволяет решить и другие задачи, например:
    протоколирование вызовов COM-компонентов;
    отладка - проверка значений аргументов, контроль подсчета ссылок;
    специальный маршалинг;
    использование альтернативных по отношению к RPC видов транспорта для передачи COM-вызовов (MSMQ, SOAP и т.п.);
    асинхронные вызовы (заместитель сохраняет информацию о вызове и производит фактический вызов исходного компонента позднее).
    Рисунок 1 иллюстрирует принцип перехвата вызовов COM-компонентов, Proxy и Stub - служебные компоненты, один из которых принимает вызовы от клиента, имитируя исходный компонент, а другой - передает эти вызовы компоненту, имитируя логику работы клиента. Именно по такой схеме работает маршалинг в COM, и по такой же схеме COM+ обеспечивает дополнительные сервисы (транзакции, блокировки и т.п.) для сконфигурированных компонентов.
    
    Рисунок 1. Принцип перехвата COM-вызова.
    Как это часто случается, несмотря на простое описание технологии перехвата, ее техническая реализация очень непростое дело, в особенности, когда речь идет об универсальном перехвате.
    В первой части статьи мы познакомимся с различными техническими способами перехвата вызовов.
    Техника перехвата вызовов
    Один из самых простых и эффективных способов перехвата вызовов методов COM-компонента заключается в создании Proxy-компонента, реализующего нужный интерфейс и перенаправляющего вызовы исходному COM-компоненту. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



Похожие работы:

Название:Перевірка статистичних гіпотез відносно невідомих значень параметрів визначеного розподілу
Просмотров:139
Описание: Перевірка статистичних гіпотез відносно невідомих значень параметрів визначеного розподілу 1 Порівняння двох дисперсій нормальних генеральних сукупностей Ця задача виникає

Название:Параметры функционирования митоКАТФ у животных с различной устойчивостью к гипоксии, а также у крыс, адаптированных к кислородному голоданию
Просмотров:244
Описание: Содержание Список сокращение Введение Глава 1. Обзор литературы 1.1  Системы транспорта калия в митохондриях 1.1.1 Транспорт калия в митохондрии 1.1.2  Молекулярные структуры, ответственные за трансп

Название:Основные временные параметры сетевых графиков и их расчеты
Просмотров:130
Описание: КУРСОВАЯ РАБОТА по предмету: «Математические методы» на тему: «Основные временные параметры сетевых графиков и их расчеты» 2009 Теория графов – обла

Название:Параметры, определяющие зону обнаружения вторичных моноимпульсных обзорных радиолокаторов
Просмотров:157
Описание: Параметры, определяющие зону обнаружения вторичных моноимпульсных обзорных радиолокаторов В отличие от первичных радиолокаторов при вторичной радиолокации дальность действия определяется системой уравне

Название:Розрахунок параметрів електричного кола з послідовим з’єднанням резисторів
Просмотров:226
Описание: ЛАБОРАТОРНО-ПРАКТИЧНЕ ЗАНЯТТЯ №2   Тема програми: Постійний струм та кола постійного струму. Тема уроку: «Розрахунок параметрів електричного кола з послідовим з’єднанням резисторів». Мета уроку: Навча

 
     

Вечно с вами © MaterStudiorum.ru