Основы COM. Рудалев В.Г - 3 стр.

UptoLike

3
В работе рассматриваются основополагающие вопросы технологии COM, ши-
роко применяющейся для разработки системного и прикладного программного
обеспечения, совместимого с операционными системами семейства Microsoft
Windows. Приводятся лабораторные работы и примеры программирования. По-
собие предназначено студентам 3 курса , изучающим дисциплину СППО , и мо-
жет быть использовано далее при изучении некоторых разделов курса «Базы
данных и экспертные системы» и дисциплин специализации, связанных с про -
граммированием информационных систем .
Разделы 1,2 написаны В . Г . Рудалевым, п.2.3, 2.4, раздел 3 Ю .А .Крыжановской .
Содержание
1. Основные понятия …….………….…………………………..3
1.1. Проблемы и термины COM .………………………….3
1.2. Интерфейсы …………….……………………………………5
1.3. Обращение к интерфейсам …….………………………...8
1.4. IDispatch и автоматизация ……..……………………………………...9
1.5. Реализация интерфейсов …………………….………….13
1.6. Маршаллинг ……………………………………….…………….14
1.7. Модели потоков …………………………………………………15
2. Примеры программирования ………………………………….15
2.1. Создание сервера и контроллера автоматизации ………………..15
2.2. Внутренний сервер .…………………………………………..24
2.3. Компоненты ActiveX .…………..……………………………….28
2.4. Создание интерфейса событий .……...………………....33
3. Задачи и упражнения .…………………………………………………37
4. Глоссарий ………………………………………………………………38
Литература …………………….………………………………………38
1. Основные понятия
1.1. Проблемы и термины COM
COM (Component Object Model), или модель объектных компонентов
1
одна из
основных технологий, на которых базируется Windows. Огромное число эле-
ментов среды Windows (навигатор Internet Explorer, модули сжатия аудио- и
видеоинформации, элементы оболочки Shell, технологии доступа к базам дан-
ных и т.д. и т.п.) реализуют свои API в виде COM-интерфейсов . Поддержка
COM встроена в большинство коммерческих прикладных программных паке -
тов (раздел системного реестра HKEY_CLASSES_ROOT, в котором зарегист-
рирована информация, связанная с COM, как правило , является самым объем -
ным по сравнению с другими разделами ). Знание основ COM становится на -
сущно необходимым не только для программирования в операционной системе
Windows, но и для грамотного ее использования. Вопреки прогнозам, COM не
1
Устоявшегося перевода термина COM не существует
                                                3
В работе рассматри в аю тся основ ополагаю щ и е в опросы технологи и COM, ш и -
роко при меняю щ ей ся д ля раз работки си стемного и при клад ного программного
обеспечени я, сов мести мого с операци онны ми си стемами семей ств а Microsoft
Windows. При в од ятсялабораторны еработы и при меры программи ров ани я. По-
соби епред наз начено студ ентам 3 курса, и з учаю щ и м д и сци пли ну СППО , и мо-
ж ет бы ть и спольз ов ано д алее при и з учени и некоторы х раз д елов курса «Баз ы
д анны х и экспертны е си стемы » и д и сци пли н специ али з аци и , св яз анны х с про-
грамми ров ани ем и нформаци онны х си стем.
Раз д елы 1,2 напи саны В .Г.Руд алев ы м, п.2.3, 2.4, раз д ел 3 –Ю .А .К ры ж анов ской .


С о дер ж а н и е

1. О снов ны епоняти я… … .… … … … … .… … … … … … … … … … … … … … … … ..3
     1.1.Проблемы и терми ны COM … .… … … … … … … … … … … … … … … … .… 3
     1.2.И нтерфей сы … … … … … … … … .… … … … … … … … … … … … … … … … … 5
     1.3.О бращ ени еки нтерфей сам … … .… … … … … … … … … … … … … … … … ...8
     1.4.IDispatch и ав томати з аци я… … ..… … … … … … … … … … … … … … … … ...9
     1.5.Реали з аци яи нтерфей сов … … … … … … … … … … … … .… … … … … … .… 13
     1.6.М арш алли нг … … … … … … … … … … … … … … … … … .… … … … … … … .14
     1.7.М од ели потоков … … … … … … … … … … … … … … … … … … … … … … … 15
2. При меры программи ров ани я… … … … … … … … … … … … … … … … … … … .15
     2.1.Соз д ани есервера и контроллера ав томати з аци и … … … … … … … … … ..15
     2.2.В нутренни й сервер.… … … … … … … … … … … … … … … … … … … … … ..24
     2.3.К омпоненты ActiveX .… … … … … ..… … … … … … … … … … … … … … … .28
     2.4.Соз д ани еи нтерфей са собы ти й .… … … … ...… … … … … … … … … … … ....33
3. Зад ачи и упраж нени я.… … … … … … … … … … … … … … … … … … … … … … 37
4. Глоссари й … … … … … … … … … … … … … … … … … … … … … … … … … … … 38
Л и тература … … … … … … … … … … .… … … … … … … … … … … … … … … … … … 38

1. О снов ны е поня т и я
1.1. П робле м ы и т е рм и ны COM
COM (Component Object Model), и ли мод ель объектны х компонентов 1 –од на и з
основ ны х технологи й , на которы х баз и руется Windows. О громное чи сло эле-
ментов сред ы Windows (нав и гаторInternet Explorer, мод ули сж ати я ауд и о- и
в и д еои нформаци и , элементы оболочки Shell, технологи и д оступа кбаз ам д ан-
ны х и т.д . и т.п.) реали з ую т св ои API в в и д е COM-и нтерфей сов . Под д ерж ка
COM в строена в больш и нств о коммерчески х при клад ны х программны х паке-
тов (раз д ел си стемного реестра HKEY_CLASSES_ROOT, в котором з ареги ст-
ри ров ана и нформаци я, св яз анная с COM, какправ и ло, яв ляется самы м объем-
ны м по срав нени ю с д руги ми раз д елами ). Знани е основ COM станов и тся на-
сущ но необход и мы м нетолько д ляпрограмми ров ани яв операци онной си стеме
Windows, но и д ля грамотного ее и спольз ов ани я. В опреки прогноз ам, COM не


1
    У стояв ш егосяперев од а терми на COM несущ еств ует