Поделиться через


Создание универсальных уникальных идентификаторов интерфейса

В этом разделе представлены сведения о универсальных уникальных идентификаторах (UUID) и служебной программе Uuidgen в следующих разделах:

Что такое UUID?

Все интерфейсы должны быть однозначно определены в сети, чтобы клиенты могли их найти. В небольших сетях имя интерфейса может быть достаточно для его идентификации. Однако это обычно не возможно в крупных сетях. Поэтому разработчики обычно назначают универсальный уникальный идентификатор (UUID, взаимозаменяемый с термином GUID или глобально уникальным идентификатором) каждому интерфейсу. UUID — это строка, содержащая набор шестнадцатеричных цифр. Каждый интерфейс имеет разные идентификаторы UUID. Дополнительные сведения см. в UUID строки.

Текстовое представление UUID представляет собой строку, состоящую из 8 шестнадцатеричных цифр, за которыми следует дефис, затем три группы по 4 шестнадцатеричных цифры, каждая из которых отделена дефисом, а затем дефис и 12 шестнадцатеричных цифр. Пример допустимой строки UUID:

ba209999-0c6c-11d2-97cf-00c04f8eea45

Пустые UUID называются nil UUID вместо NULL UUID. Термин nil означает всё, что равно нулю, пустое, незаполненное или неинициализированное. Пустая строка, пустая запись базы данных или неинициализированная UUID — это все примеры значений nil.

Заметка

Значение NULL — это конкретное значение ноль. Он часто используется в программировании C и C++ в сочетании с указателями. Nil — это более общий термин, чем NULL. Неинициализированные UUID интерфейса объекта всегда должны называться nil UUID, а не NULL UUID.

 

Использование Uuidgen

Корпорация Майкрософт предоставляет служебную программу под названием Uuidgen для создания UUID. Служебная программа Uuidgen создает идентификатор UUID в формате IDL или формате языка C.

При запуске служебной программы Uuidgen из командной строки можно использовать следующие ключи командной строки.

Коммутатор Uuidgen Описание
/i Выводит UUID в шаблон интерфейса IDL.
/s Выводит UUID в качестве инициализированной структуры C.
/o<имя файла> Перенаправляет выходные данные в файл; указан сразу после параметра /o.
/n<число> Указывает число генерируемых идентификаторов UUID.
/v Отображает сведения о версии Uuidgen.
/h или ? Отображает сводку параметров команды.

 

Как правило, вы будете использовать служебную программу Uuidgen, как показано в следующем примере.

uuidgen -i -oMyApp.idl

Эта команда создает идентификатор UUID и сохраняет его в MIDL-файле, который можно использовать в качестве шаблона. При выполнении предыдущей команды содержимое MyApp.idl аналогично следующему:

[
  uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
  version(1.0)
]
interface INTERFACENAME
{

}

Следующим шагом будет замена имени заполнителя INTERFACENAME на фактическое имя вашего интерфейса.