Архитектура СОМ. Глобально уникальные идентификаторы

   
На этом шаге мы приведем общие сведения о глобально уникальных идентификаторах.

   
GUID - это 128-разрядные числовые идентификаторы, указывающие СОМ-объекты и предоставляемые
ими интерфейсы. Они гарантированно уникальны в глобальном масштабе и останутся таковыми остаточно долго.
Для генерации GUID своих компонентов и интерфейсов Вы будете пользоваться консольной утилитой
UUIDGEN.EХЕ (или ее GUI-версией GUIDGEN.EXE).

   
Детальное строение GUID показано на рисунке 1.


Рис.1. Строение GUID

   
Известны два вида представления GUID - строковый и числовой. Строковый формат применяется в системном
реестре. Числовое представление GUID требуется при использовании в клиентских приложениях и при реализации СОМ-объекта.

   
Как показано на рисунке 1, числовое представление GUID состоит bp 128 бит. Беззнаковое целое
Data1 типа long в структуре _GUID имеет длину 32 бита, поля Data2 и Data3 -
беззнаковые целые типа short длиной 16 бит, а каждая из восьми беззнаковых переменных типа char
занимает 8 бит. Их общая длина составляет 128 бит.

   
Работая с числовым представлением в СОМ-объекте или в коде клиента на C++, нужно объявить
переменную и инициализировать ее макросом, который носит имя DEFINE_GUID и находится в заголовочном
файле initguid.h. Как правило, имя переменной GUID имеет приставку CLSID или IID,
что позволяет отличить GUID COM-объекта от глобального идентификатора интерфейса.

   
На следующем шаге мы рассмотрим элементы реестра, относящиеся к COM.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий