生成接口 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 替换为接口的实际名称。