progid

为 COM 对象指定 ProgID。

语法

[ progid(name) ];

参数设置

name
表示对象的 ProgID。

ProgID 提供人工可读取版本的类标识符 (CLSID) 用于标识 COM/ActiveX 对象。

备注

借助 C++ 特性 progid,可为 COM 对象指定 ProgID。 ProgID 采用 name1.name2.version 形式。 如果未为 ProgID 指定版本,则默认版本为 1。 如果未指定 name1.name2,则默认名称为 classname.classname。 如果未指定 progid 并且指定了 vi_progid,则从 vi_progid 获取 name1.name2,并追加(下一个序列号)版本。

如果使用 progid 的特性块不使用 uuid,编译器将检查注册表,查看是否存在 uuid 用于指定的 progid。 如果未指定 progid,则将使用版本(如果创建组件类,则还需要组件类名称)来生成 progid

progid 暗含 coclass 特性,也就是说,如果指定了 progid,就等于指定了 coclassprogid 特性。

progid 特性导致类按指定的名称自动注册。 生成的 .idl 文件不会显示 progid 值。

如果在使用 ATL 的项目中使用此特性,该特性的行为会更改。 除了上述行为外,使用此特性指定的信息还用于 GetProgID 函数,它由 coclass 特性注入。 有关详细信息,请参阅 coclass 特性。

示例

有关 progid 的示例用法,请参阅 coclass 的示例。

要求

特性上下文
适用于 %>
可重复
必需的特性
无效的特性

有关特性上下文的详细信息,请参见 特性上下文

另请参阅

IDL 特性
类特性
Typedef、Enum、Union 和 Struct 特性
ProgID 键