Шаг 5 - Немного о CSLID

Самое первое, что наш элемент зарегистрирован в реестре. В разделе CLSID. Как вам найти запись ? Просто. Два раза шелкните на _DDMyActive1. Там должна быть следующая запись:

[ uuid(27B6AAAA-C1D7-11D3-A3A8-000001260696), version(1.0),
  helpfile("DMyActive1.hlp"),
  helpstring("DMyActive1 ActiveX Control module"),
  control ]

Запустите RegEdit и дайте поиск по всем элементам из этих цифр (27B6AAAA-C1D7-11D3-A3A8-000001260696) и вы точно попадете на описание Вашего элемента.

5_1.gif (4412 b)

Что такое GUID ? Это Global Unique Interface ID (Глобальный уникальный идентификатор интерфейса). Он служит для того, чтобы присвоить уникальный идентификатор. Аналог GUID - это СLSID (класс ID) . Это уникальное число, которое специально генерируется для элемента.

Описания CLSID в реесте находятся по пути.

My Computer
	 HKEY_CLASSES_ROOT
		CLSID
			Уникальные номера элементов

Когда кто-то собирается использовать элемент. Просматривается указанная выше ветвь реестра и ищется идентификатор. В разделе InproServer32 указан путь доступа к элементу (default). Удалите его оттуда или поменяйте путь у Вас больше элемент использоваться не сможет. То есть предыдущий шаг не получится, несмотря на то, что попытаться вставить этот элемент можно будет.

Удалите вообще раздел и Вы не сможете даже вставить этот элемент. Раздел я имею в виду (27B6AAAA-C1D7-11D3-A3A8-000001260696). Будьте осторожны. Во-первых у Вас номер может быть другим. Во-вторых не удаляйте, если точно не уверены. А то потом больше вреда, чем обучения.

Откуда берется это число ? Вообще-то оно генерируется. Есть такая программа GUIDGEN.EXE в старых версиях она поставлялась как отдельный EXE файл. Уникальность его статистически гарантированна на протяжении времени больше чем время существования вселенной :-))).

Есть еще понятие IDD (Interface ID) это тоже CSLID. Вы можете найти его объявление в Global -> IID_DDMyActive1. Вот оно:

///////////////////////////////////////////////////////
// Interface IDs

const IID BASED_CODE IID_DDMyActive1 =
		{ 0x27b6aaab, 0xc1d7, 0x11d3, { 0xa3, 0xa8, 0, 0, 0x1, 0x26, 0x6, 0x96 } };

Вообщем-то вся эта куча уникальных чисел нужна только для того, чтобы идентифицировать объект, с которым будет производиться работа. После идентификации по имени находится CLSID, дальше по нему в реестре получается дополнительная информация, например, о месте на диске данного элемента.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 05.01.2000