Шаг 16 - GUIDGEN

При создании компонент COM OLE ACTIVEX используется уникальный идентификатор. Этот идентификатор необходимо сгенерировать для Вашей программы. Для этого в поставку VC включена утилита GuidGen у меня она находится вот где.

E:\microsoft\Tools

После запуска этой программы у Вас появится диалоговое окно.

Здесь Вы можете создавать новый GUID используя NEW, можете копировать его в разных форматах в последствии вставляя в свой код. Когда Вы вибираете GUID Format внизу у Вас показана текстовая строка, которая будет скопирована в буфер обмена.

Ранее для использования компонент требовалось создание REG файла и явного указания этого номера. На данный момент ситуация немного другая. Многие компоненты созданные на основе DLL умееют сами регистрироваться в реестре и удалять регистрационные записи. Для этой возможности внутри DLL с компонентой должны быть реализованы функции

DllRegisterServer 
DllUnregisterServer 

Зарегистрировать такую DLL можно с помощью утилиты regsvr32.

Откуда же брать еще GUID, кроме как с помощью GUIDGEN ? Вы можете, если конечно собираетесь распространять свои разработки по всему миру, запросить блок из 256 номеров в Microsoft, но кроме этого есть функция в API с именем CoCreateGuid, которая тоже сможет сгенерировать этот номер. Для генерации этого числа используется алгоритм, который гарантирует статистическую уникальность. Для получения этого числа используется

Идентификатор машины и сетевой платы
Текущее время и дата
Информация о конфигурации системы
Случайная компонента

Для использования в программе GUID лучше использовать в качестве обычной константы. Его можно скопировать в такой форме.

// {863FCF40-0BB2-11d4-B050-000001260696}
static const GUID <> = 
{ 0x863fcf40, 0xbb2, 0x11d4, { 0xb0, 0x50, 0x0, 0x0, 0x1, 0x26, 0x6, 0x96 } };

Там где написано NAME можно и нужно вписать имя Вашей константы.


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