生成接口 UUID

本部分介绍以下主题中有关 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 都是零值的示例。

注意

NULL 是特定值零。 它通常在 C 和 C++ 编程中与指针结合使用。 Nil 是一个比 NULL 更通用的术语。 未初始化的对象接口 UUID 应始终称为 nil UUID,而不是 NULL UUID。

 

使用 Uuidgen

Microsoft 提供了一个名为 Uuidgen 的实用工具程序来生成 UUID。 Uuidgen 实用工具生成 IDL 文件格式或 C 语言格式的 UUID。

从命令行运行 Uuidgen 实用工具时,可以使用以下命令开关。

Uuidgen 开关 说明
/我 将 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 替换为接口的实际名称。