Typedef、Enum、Union 和 Struct 特性

以下属性适用于 typedefstructenum C++ 关键字。

typedef

Attribute 说明
case union 中的 switch_type 属性一起使用。
custom 支持定义自己的特性。
export 使数据结构置于 .idl 文件中。
first_is 指定要传输的第一个数组元素的索引。
helpcontext 指定允许用户在帮助文件中查看有关此元素的信息的上下文 ID。
帮助文件 设置类型库的帮助文件的名称。
helpstring 指定一个字符串,用于描述应用该字符串的元素。
library_block 将构造置于 .idl 文件的库块内。
ptr 将指针指定为全指针。
公共 确保 typedef 将进入类型库,即使它没有从 .idl 文件中引用。
ref 标识引用指针。
switch_is 指定用作选择联合成员的联合判别符的表达式或标识符。
switch_type 标识用作联合判别符的变量的类型。
unique 指定唯一指针。
wire_marshal 指定将用于传输而不是特定于应用程序的数据类型的数据类型。

enum

Attribute 说明
custom 支持定义自己的特性。
export 使数据结构置于 .idl 文件中。
uuid 指定类或接口的唯一 ID。
v1_enum 指示将指定的枚举类型作为 32 位实体传输而不是默认 16 位传输。

union

Attribute 说明
custom 支持定义自己的特性。
export 使数据结构置于 .idl 文件中。
first_is 指定要传输的第一个数组元素的索引。
last_is 指定要传输的最后一个数组元素的索引。
length_is 指定要传输的数组元素数量。
max_is 指定有效数组索引的最大值。
size_is 指定为大小指针、大小指针指向大小指针以及一维或多维数组分配的内存大小。
unique 指定唯一指针。
uuid 指定类或接口的唯一 ID。

非封装联合

Attribute 说明
ms_union 控制非封装联合的网络数据表示形式对齐。
no_injected_text 防止编译器由于使用属性而注入代码。

struct

Attribute 说明
aggregatable 指示类支持聚合。
aggregates (聚合体) 指示控件与目标类聚合。
appobject 将组件类标识为应用程序对象,它与完整的 .exe 应用程序相关联,并指示组件类的函数和属性在此类型库中全局可用。
coclass 创建 ActiveX 控件。
com_interface_entry 将接口条目添加到 COM 映射。
control 指定用户定义类型是控件。
custom 支持定义自己的特性。
db_column 将指定的列绑定到行集。
db_command 创建 OLE DB 命令。
db_param 将指定的成员变量与输入或输出参数关联,并分隔变量。
db_source 创建与数据源的连接。
db_table 打开 OLE DB 表。
default 指示组件类中定义的自定义接口或调度接口表示默认的可编程性接口。
defaultvtable 将接口定义为控件的默认 vtable 接口。
event_receiver 创建事件接收器。
event_source 创建事件源。
export 使数据结构置于 .idl 文件中。
first_is 指定要传输的第一个数组元素的索引。
hidden 指示该项虽然存在,但不应在面向用户的浏览器中显示。
implements_category 指定类的已实现组件类别。
last_is 指定要传输的最后一个数组元素的索引。
length_is 指定要传输的数组元素数量。
max_is 指定有效数组索引的最大值。
requires_category 指定目标类的必需组件类别。
size_is 指定为大小指针、大小指针指向大小指针以及一维或多维数组分配的内存大小。
在类上,指定 COM 对象的连接点源接口。 在属性或方法上,指示成员返回作为事件源的对象或 VARIANT。
threading 指定 COM 对象的线程模型。
unique 指定唯一指针。
uuid 指定类或接口的唯一 ID。
version 在多个版本的类之中标识一个特定版本。
vi_progid 指定与版本无关的 ProgID 形式。

另请参阅

按用法分的特性