Шаг 180.
Среда программирования Visual C++.
Анализ кода ATL COM-компонента. Сценарий реестра

    На этом шаге мы рассмотрим назначение и содержимое сценария реестра.

    При загрузке клиентом СОМ-объекта библиотека СОМ обращается к реестру за сведениями, находящимися в разделе HKEY_CLASSES_ ROOT (HKCR). Мастера ATL создают для СОМ-компонента сценарий реестра, в котором и содержится эта информация.

    Сценарий реестра включается в проект в качестве ресурса. Файл сценария имеет расширение .rgs и хранится в папке проекта. Вот как он выглядит:

HKCR
{
	EncodeServer.Encoder.1 = s 'Encoder Class'
	{
		CLSID = s '{9DBB482D-4600-43F4-A96E-AEF8F600574E}'
	}
	EncodeServer.Encoder = s 'Encoder Class'
	{
		CLSID = s '{9DBB482D-4600-43F4-A96E-AEF8F600574E}'
		CurVer = s 'EncodeServer.Encoder.1'
	}
	NoRemove CLSID
	{
           ForceRemove {9DBB482D-4600-43F4-A96E-AEF8F600574E} = s 'Encoder Class'
		{
			ProgID = s 'EncodeServer.Encoder.1'
			VersionIndependentProgID = s 'EncodeServer.Encoder'
			InprocServer32 = s '%MODULE%'
			{
			}
			'TypeLib' = s '{EECD8638-CFC3-43F8-A10C-D4C9573E26DD}'
		}
	}
}

    Этот сценарий вносит в раздел реестра HKEY_CLASSES_ROOT следующие записи: CLSID, ProgID (обе формы - зависимую и незасимую от версии) и библиотеку типов. Поскольку объект Encoder находится в DLL-сервере, то дополнительно создается раздел InprocServer32, содержащий переменную %MODULE%. Обрабатывая сценарий системного реестра, Visual Studio подставит вместо нее имя исполняемого файла.

    На следующем шаге мы рассмотрим IDL-файл.




Предыдущий шаг Содержание Следующий шаг