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


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

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

Университетская электронная библиотека.
www.infoliolib.info

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

Перехват методов 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-компоненту. ............






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

Название:Методика совершенствования изменения параметров технологической системы предприятия
Просмотров:657
Описание: Ежова Н., Ермолов А. Реализация инновационных процессов в производственной сфере в постиндустриальный период развития экономики имеет тенденцию, которую можно сформулировать, как «не быть похожим». В этой связи

Название:Технические параметры выполнения произвольных программ высококвалифицированными батутистами
Просмотров:723
Описание: на различных соревнованиях Аспирантка, заслуженный мастер спорта С. В. Баландина Аспирантка, заслуженный мастер спорта И. В. Караваева Кубанский государственный университет физической культуры, спорта и туризма,

Название:Определение параметров коаксиального кабеля
Просмотров:385
Описание: Одним из основных параметров высокочастотного кабеля является волновое сопротивление. Обычным омметром его не измерить — для этого нужен специальный прибор. Сам кабель (отечественного производства) не имеет марк

Название:Оптимізація параметрів динамічної системи підресорювання корпуса БТР
Просмотров:509
Описание: ВСТУП Розвитку бронетранспортерів (БТР) в останні часи приділяється значна увага у багатьох країнах. Хоча на розробку машин цього класу значний вплив має конструкція танків, однак розвиток деяких властивост

Название:Расчет параметров поражающих факторов в условиях чрезвычайных ситуаций
Просмотров:448
Описание: Задание   Раздел 1. Оценка поражающих факторов ядерного взрыва По исходным данным (табл. 1.21) определить: 1.1.  Расстояния от центра взрыва, на которых открыто находящийся человек может получить легкую,

 
     

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