Шаг 148.
Среда программирования Visual C++.
Архитектура СОМ. Глобально уникальные идентификаторы

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

    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.




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