Студопедия

КАТЕГОРИИ:

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

О регистрации внутрипроцессного сервера СОМ




Макрос в ATL классе CDLLMathServerModule (файл DLLMathServer.cpp) обеспечивает вызов функции UpdateRegistryAppId(), которая регистрирует (СОМ объект?) в реестре. По всей видимости, упомянутая функция (при компиляции и сборке проекта) делает только записи двух первых из приведенных ниже разделов реестра. Остальную регистрацию делает экспортируемая DLL функция DllRegisterServer(). Результат регистрации – записи в реестре – приведен ниже.

 

HKEY_CLASSES_ROOT\AppID\{4D57CADF-2B96-4FB6-9FD3-2ADF8A457FD6}

Имя параметра Тип Значение
- REG_SZ DLLMathServer

 

HKEY_CLASSES_ROOT\AppID\DLLMathServer.DLL 

Имя параметра Тип Значение
AppID REG_SZ {4D57CADF-2B96-4FB6-9FD3-2ADF8A457FD6}

 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}

Имя параметра Тип Значение
- REG_SZ Mathem Class
AppID REG_SZ {4D57CADF-2B96-4FB6-9FD3-2ADF8A457FD6}

 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}\InprocServer32

Имя парам. Тип Значение
- REG_SZ D:\Workdir\STIP_2008\VC_Prj_2005\Lab6\DLLMathServer\Debug\DLLMathServer.dll

 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}\ProgID

Имя парам. Тип Значение
- REG_SZ DLLMathServer.Mathem.1

 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}\TypeLib

Имя парам. Тип Значение
- REG_SZ {DB27FCC4-5A23-4004-9B71-75D82E588DF8}

 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5} \VersionIndependentProgID

Имя парам. Тип Значение
- REG_SZ DLLMathServer.Mathem

 

HKEY_CLASSES_ROOT\DLLMathServer.Mathem

Имя парам. Тип Значение
- REG_SZ Mathem Class

 

 

HKEY_CLASSES_ROOT\DLLMathServer.Mathem\CLSID

Имя парам. Тип Значение
- REG_SZ {75AA61DC-61F9-4D67-AA7B-12717A85D4A5}

 

HKEY_CLASSES_ROOT\DLLMathServer.Mathem\CurVer

Имя парам. Тип Значение
- REG_SZ DLLMathServer.Mathem.1

 

HKEY_CLASSES_ROOT\DLLMathServer.Mathem.1

Имя парам. Тип Значение
- REG_SZ Mathem Class

 

HKEY_CLASSES_ROOT\DLLMathServer.Mathem.1\CLSID

Имя парам. Тип Значение
- REG_SZ {75AA61DC-61F9-4D67-AA7B-12717A85D4A5}

 

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}

Имя парам. Тип Значение
- REG_SZ не присвоено

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}\1.0

Имя парам. Тип Значение
- REG_SZ DLLMathServer 1.0 Type Library

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}\1.0\0

Имя парам. Тип Значение
- REG_SZ не присвоено

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}\1.0\0\win32

Имя парам. Тип Значение
- REG_SZ D:\Workdir\STIP_2008\VC_Prj_2005\Lab6\DLLMathServer\Debug\DLLMathServer.dll

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}\1.0\FLAGS

Имя парам. Тип Значение
- REG_SZ не присвоено

 

HKEY_CLASSES_ROOT\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}\1.0\HELPDIR

Имя парам. Тип Значение
- REG_SZ -

 

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{4D57CADF-2B96-4FB6-9FD3-2ADF8A457FD6}

Имя параметра Тип Значение
  REG_SZ DLLMathServer

 

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\DLLMathServer.DLL

Имя параметра Тип Значение
AppID REG_SZ {4D57CADF-2B96-4FB6-9FD3-2ADF8A457FD6}

 

Содержимое раздела

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}

 

полностью совпадает с содержимым раздела 

HKEY_CLASSES_ROOT\CLSID\{75AA61DC-61F9-4D67-AA7B-12717A85D4A5}

 

То же относится и к содержимому разделов

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DLLMathServer.Mathem и

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DLLMathServer.Mathem

 

То же относится и к содержимому раздела

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{DB27FCC4-5A23-4004-9B71-75D82E588DF8}

 


Список литературы по языку С++ и программированию для Windows

1. Круглински Д., Уингоу С., Шеферд Дж. Программирование на Microsoft Visual C++ для профессионалов/Пер. с англ. – СПб:Питер; М.: Издательско-торговый дом "Русская редакция", 2000. - 864с.

(Есть в электронном виде – файл

Круглински_Уингоу_Шеферд_Программирование_на_MV_C++_6.pdf)

Эта книга – настоящая библия программирования на Microsoft Visual C++6.0 с применением библиотеки классов MFC. Ориентирована на профессиональных программистов, владеющих языком С, имеющим представление о С++ и приступающих к разработке 32-х разрядных приложений для Windows 95/98/NT 4.0.

В книге рассмотрена разработка разноообразных приложений (обработка событий, управление памятью, печать, GDI, DIB, SDI/MDI, ActiveX, COM, ATL, последние расширения COM, поддержка БД, программирование для Интернета с использованием Windows Sockets, MFC WinInet и ISAPI).

 

2. Дейтел Х.М., Дейтел П.Дж. Как программировать на С++/Пер. с англ. – Бином, 2000. – 1024с.

(Есть в электронном виде – файл Дейтел_Х_Дейтел_П_Как_программировать_на_С++.pdf)

Это учебник по языку С++, рассчитанный как на начинающих программистов, так и на опытных. При изложении материала авторы стараются абстрагироваться от аппаратной и программной платформы и компиляторов, хотя примеры написаны для компилятора Borland C++. Эта работа представляет собой очень хороший учебник по языку С++, хотя и несколько устаревший в том смысле, что в нем не рассматриваются, например, контейнеры и библиотека стандартных шаблонов STL, которые имеются в нынешнем стандарте языка С++ от 1999г.

 

3. Страуструп Б. Язык программирования С++, 3-е изд. / Пер. с англ. – СПб.: М.: "Невский Диалект" – "Издательство БИНОМ", 1999. – 991.

Излагается стандарт языка С++ (ISO/IEC 14882 "Standard for the C++ Programming Language")

Как и другие книги этого автора, они довольно тяжелы для изучения, но содержат очень квалифицированное и полное изложение особенностей языка, не связываемое с какой-либо программной или аппаратной платформой.

 

4. Элджер Д. Библиотека программиста С++ ~1998г.

(Есть в электронном виде – файл Элджер__С++_Библиотека_программиста.pdf)

 

5. Степанов А., Менг Ли. Руководство по стандартной библиотеке шаблонов (STL)/ Пер. на русский А.Суханова и А.Кутырина – М.: 1999.

(Есть в электронном виде – файл Степанов_Ли__Руководство_по_STL.chm)

Степанов считается практически единственным разработчиком библиотеки STL и эта книга представляет собой действительно хорошее руководство по STL.

 

6. Либерти Дж. С++. Энциклопедия пользователя.

(Есть в электронном виде – файл Либерти__С++_Энциклопедия_пользователя.pdf)

Эта книга действительно является энциклопедией в том смысле, что охватывает очень многие стороны языка С++: ООП, UML, библиотека STL и алгоритмы, MFC, живучесть объектов, хеширование, шифрование, CORBA, COM и др.

 

7. Подбельский В.В. Язык Си++.Учебное пособие.- 2-е изд.,перераб. и доп.-М.:Финансы и статистика,1996.-560с.:ил.

Вышло уже и 4-е издание в 1999г. (просто 4-е издание, не переработанное и не дополненное). ISSN 5-279_01670_5.

Подробно рассмотрены синтаксис, семантика и техника программирования на Си++, который в данной книге рассматривается как самостоятельный язык программирования а не расширение Си. Книга хороша в методическом плане, содержит много примеров программ. Недостаток книги в том, что рассматриваемая в ней версия языка несколько устарела.

 

8. В.Н.Овсянник «Язык С++ не для чайников»

Имеется только в электронном формате. В основном материал относится к версии языка С++, реализованной в компиляторе ВС3.1 (последняя версия от Borland для MS DOS).

 

8а. Джеффри Рихтер, Кристоф Назар. Windows via C/C++. Программирование на языке Visual C++.  Изд-во: Питер, Русская Редакция, 2009 г., 896 стр.

ISBN 978-5-388-00205-1, 978-5-7502-0367-3, 978-0-7356-2424-5

 

Файл Рихтер_Назар_Windows via C++.pdf 

в папке windows_via_c_c_programmirovanie_na_jazyke_visual_c. В этой же папке есть и много примеров программ.

 

Это издание — практически новая книга, посвященная разработке серьезных приложений на Visual C++ в операционных системах Windows XP и Windows Vista (32- и 64-разрядных версиях) с использованием функций Windows API. Гораздо глубже, чем в предыдущих изданиях, рассматриваются такие темы, как механизм User Account Control, взаимодействие с системой библиотеки C/C++ при реализации защитных механизмов и обработке исключений; представлены новые синхронизирующие механизмы. В это издание добавлены две совершенно новые главы: о механизмах ввода-вывода и о работе новой системы Windows Error Reporting, изменившей подходы к созданию отчетов об ошибках и восстановлению приложений после сбоев. Книга предназначена для профессиональных программистов, владеющих языком С/С++ и имеющим опыт разработки Windows-приложений. Исходные тексты для всех программ-примеров из книги читатели найдут на веб-сайте поддержки нового издания. Книга состоит из 26 глав и двух приложений.

 

Список литературы по платформе .NET

9. Дон Бокс, Крис Селлз. Основы платформы .NET, том 1. Общеязыковая исполняющая среда /Пер. с англ. – М.; СПб.: К.: Издательский дом "Вильямс", 2003. – с.288. ISBN 5-8459-0455-2

 

13 февраля 2002 года закончилась эпоха COM и началась эпоха CLR. В этот день в составе пакета .NET Framework увидела свет виртуализованная среда исполнения CLR. В книгах не столь высокого теоретического уровня, как эта сложно осветить многие возможности, предоставляемые виртуализованной средой исполнения. Пожертвовав популярностью, автор вводит читателя за кулисы высокоуровневых средств программирования, не углубляясь при этом в дебри низкоуровневых кодов. Книга предназначена для профессиональных программистов и не может служить единственным учебником, так как в ней отсутствуют объяснения многих общеизвестных положений, которые можно найти в другой литературе. Тем не менее она все же является учебником, благодаря последовательности изложения и практической направленности рассматриваемых вопросов.

 

10. Деймьен Уоткинз, Марк Хаммонд, Брэд Эйбрамз. Программирование на платформе .NET среда /Пер. с англ. – М.; СПб.: К.: Издательский дом "Вильямс", 2003. – с.368. ISBN 5-8459-0456-0

 

Книга написана группой разработчиков платформы .NET и позволяет узнать, как на самом деле устроена эта платформа. В отличие от многих других книг на эту тему, она описывает не только "как" работают элементы платформы .NET, но и "почему". Несомненным достоинством книги является глубокий анализ платформы .NET с объяснением причин, по которым разработчики среди множества альтернативных вариантов выбрали именно те, которые легли в основу платформы .NET. Первая часть книги начинается сравнительным анализом прежних распределенных систем и платформы .NET (глава 1), после чего предлагается подробное обсуждение системы типов (глава 2) и метаданных (глава 3). При описании системы выполнения (глава 4) приведены тонкости использования промежуточного языка, рассматриваются системы безопасности и управления политиками. Большое внимание в книге уделяется процессу создания (глава 5) и развертывания (глава 6) приложений с углубленным описанием вопросов контроля версий, интернационализации и локализации, которые лишь кратко упоминаются в других книгах о платформе .NET.

Обзор библиотеки классов Framework Class Library (глава 7) насыщен простыми и ясными примерами ее использования. Вторая часть состоит из восьми приложений, которые посвящены реализациям совершенно разных языков программирования (от Visual Basic и Perl до Pascal и Mondrian) для платформы .NET. Книга рассчитана на широкий круг читателей с разной подготовкой: от студентов, желающих на простых примерах познакомиться с новой технологией программирования, до профессионалов высокого уровня, интересующихся тонкостями реализации новой платформы и переноса на нее унаследованных решений.

 

11. Джеффри Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. Мастер-класс / Пер. с англ. – М.:Издательство «Русская редакция»; СПб.: Питер, 2007. - 656с.

Есть в электронном формате (djvu).

 

Известный хороший автор и хорошая книга.

12. Джеффри Рихтер. Программирование на платформе Microsoft .NET Framework / Пер. с англ. – М.:Издательско-торговый дом «Русская редакция», 2003 - 512с.

Есть в электронном формате (.pdf)

13. Хортон Айвор. Visual C++2010: полный курс / Пер. с англ. – М.: ООО «И.Д. Вильямс», 2011. – 1216с.

Хортон_Visual C++_2010_Полный курс-2011г.djvu

Есть примеры кода, обсуждаемого в работе.

 

 

 

14. Пауэрс Ларс, Майкл Снелл. Microsoft Visual Studio 2008 / Пер. с англ. — СПб.:

БХВ-Петербург, 2009. — 1200с

MicrosoftVisualStudio2008_Powers_Snell.djvu

 

Рассмотрены приемы работы в интегрированной среде разработки Visual Studio

2008, а также новые технологии и элементьгереды, предназначенные для создания 

эффективных современных приложений. Описана работа с решениями, проектами, 

редакторами и визуальными конструкторами. Показаны новые возможности языков 

программирования С# и Visual Basic. Рассмотрено создание различных типов приложений,

в том числе с помощью ASP.NET, Web-сервисов и WCF, Windows Forms, WPF, WF.

Описано применение в приложениях современных технологий, таких как AJAX, LINQ

и др. Показана работа с данными и базами данных. Уделено внимание автоматизации

интегрированной среды разработки, созданию макросов, дополнительных модулей и

мастеров. Показано использование Visual Studio Team System для коллективной работы

над проектом, выполнение модульных и Web-тестов приложений и многое другое. 

Материал сопровождается практическими примерами и полезными советами.

 

15. Julian Templeman. Microsoft Visual C++/CLI Step by Step. 2013, 542с.

templeman_j_microsoft_visual_c_cli_step_by_step(MVS_2012).pdf

 

16. Медведев В.И. Особенности объектно-ориентированного программирования на C++/CLI, C# и Java. 2-е изд., испр. и доп. - Казань: РИЦ «Школа», 2010.-444 c.: ил.

medvedev_v_i_osobennosti_obektnoorientirovannogo_programmiro.pdf

 

Излагаются основные понятия и методика разработки объектно-ориентированных программ на языках C++/CLI, C# и Java (J#). Изложение сопровождается многочисленными примерами законченных программ. Программы поясняются диаграммами языка UML.

Особое внимание акцентировано на наиболее сложных для понимания делегатах, событиях, уведомлениях, потоках и их синхронизации. Параллельное изложение схожих основных языковых конструкций позволит лучше выявить не только близость и различие языков C++/CLI, C# и Java, но и лучше понять особенности этих языков.

Для студентов и преподавателей вузов по направлению вычислительной техники и информатики. Представляет интерес для всех, знающих язык С и изучающих объектно-ориентированное программирование, а также для тех, кто, овладев языком С++, интересуется особенностями и отличиями программирования на языках C++/CLI, Java и C#.

Список литературы по технологии СОМ

 

13. Дейл Роджерсон. Основы СОМ/Пер. с англ.–2-е изд., исправл. и дополн.–М,:Изд.-торг. дом «Русская редакция».–2000, 400с.

 

14. Оберг, Роберт, Дж. Технология COM+. Основы и программирование.: Пер. с англ. :Уч. пос. – М.: Издательский дом "Вильямс", 2000. – 480с.

 

15. Дэвид Чеппел. Технология ActiveX и OLE/ Пер. с англ. – М.: Издательский отдел "Русская редакция" ТОО "Channel Traiding Ltd.", 1999. – 320с.

Оригинальное издание на англ. языке: Understanding ActiveX and OLE, Microsoft Corporation, 1996.

16. Бокс Д. Сущность технологии СОМ. Библиотека программиста. — СПб.: Питер, 2001. — 400 с.: ил. (Есть в электронном формате)

В этой книге СОМ исследуется с точки зрения разработчика C++. Написанная ведущим специалистом по модели компонентных объектов СОМ, она раскрывает сущность СОМ, помогая разработчикам правильно понять не только методы модели программирования СОМ, но и ее основу. Понимание мотивов создания СОМ и ее аспектов, касающихся распределенных систем, чрезвычайно важно для тех разработчиков, которые желают пойти дальше простейших приложений СОМ и стать по-настоящему эффективными СОМ-программистами. Показывая, почему СОМ для распределенных систем (Distributed СОМ) работает именно так, а не иначе, Дон Бокс дает вам возможность применять эту модель творчески и эффективно для ежедневных задач программирования.

17. К. Таваре, К. Фертитта, Б. Ректор, К. Селлз. Библиотека ATL 8: внутренняя структура и применение. Microsoft Visual Studio 2005. – М.; СПб.:, К.: Издательский дом "Вильямс", 2007, 736с.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 372.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...