按字母顺序的特性参考

Microsoft C++ 编译器中提供了以下属性:

Attribute 说明
aggregatable 指示一个可由另一个控件聚合的控件。
aggregates (聚合体) 指示控件与目标类聚合。
appobject 将组件类标识为应用程序对象,它与完整的 EXE 应用程序相关联,并指示组件类的函数和属性在此类型库中全局可用。
async_uuid 指定可指示 MIDL 编译器同时定义 COM 接口的同步版本和异步版本的 UUID。
attribute 允许创建自定义属性。
bindable 指示该属性支持数据绑定。
call_as 使不可远程处理的函数能够映射到远程函数。
case 与联合中的 switch_type 特性一起使用。
coclass 创建可实现 COM 接口的 COM 对象。
com_interface_entry 将接口条目添加到 COM 映射。
control 指定用户定义类型是控件。
cpp_quote 将不带引号字符的指定字符串发送到生成的头文件中。
custom 让你定义自己的属性。
db_accessor 绑定行集中的列,并将其绑定到相应的访问器映射。
db_column 将指定的列绑定到行集。
db_command 执行 OLE DB 命令。
db_param 将指定的成员变量与输入或输出参数相关联。
db_source 通过提供程序创建并封装到数据源的连接。
db_table 打开 OLE DB 表。
default 指示组件类中定义的自定义接口或调度接口表示默认的可编程性接口。
defaultbind 指示能够最好地表示该对象的单个可绑定属性。
defaultcollelem 用于 Visual Basic 代码优化。
defaultvalue 允许为类型化的可选参数指定默认值。
defaultvtable 将接口定义为控件的默认 vtable 接口。
dispinterface 将一个接口作为调度接口置于 .idl 文件中。
displaybind 指示应作为可绑定属性显示给用户的属性。
dual 将一个接口作为 dual 接口置于 .idl 文件中。
emitidl 确定是否将处理所有后续 IDL 属性并将其放置在生成的 .idl 文件中。
entry 通过标识 DLL 中的入口点,指定模块中导出的函数或常量。
event_receiver 创建事件接收器。
event_source 创建事件源。
export 使数据结构置于 .idl 文件中。
first_is 指定要传输的第一个数组元素的索引。
helpcontext 指定允许用户在帮助文件中查看有关此元素的信息的上下文 ID。
帮助文件 设置类型库的帮助文件的名称。
helpstring 指定 .hlp 或 .chm 文件中帮助主题的 ID。
helpstringdll 指定要用于执行文档字符串查找(本地化)的 DLL 名称。
hidden 指示该项虽然存在,但不应在面向用户的浏览器中显示。
id 指定成员函数的 DISPID(属性或方法,在接口或分派接口中)。
idl_module 指定 DLL 中的入口点。
idl_quote 允许使用当前的 Visual C++ 版本不支持的属性或 IDL 构造。
iid_is 指定接口指针指向的 COM 接口的 IID。
immediatebind 指示将立即通知数据库对数据绑定对象的属性所做的所有更改。
implements 指定强制为 IDL 组件类成员的调度接口。
implements_category 指定类的已实现组件类别。
import 指定另一个 .idl、.odl 或包含要从主 .idl 文件引用的定义的头文件。
importidl 将指定的 .idl 文件插入生成的 .idl 文件中。
importlib 使已编译到另一个类型库中的类型可供所创建的类型库使用。
in 指示参数将从调用过程传递到被调用过程。
包括 指定要包含在生成的 .idl 文件中的一个或多个头文件。
includelib 使 .idl 或 .h 文件包含在生成的 .idl 文件中。
last_is 指定要传输的最后一个数组元素的索引。
lcid 允许将区域设置标识符传递给函数。
length_is 指定要传输的数组元素数量。
library_block 将构造置于 .idl 文件的库块内。
licensed 表示其应用的组件类已获得许可,并且必须使用 IClassFactory2 进行实例化。
local 在接口标头中使用时,允许将 MIDL 编译器用作标头生成器。 在单个函数中使用时,指定不为其生成存根的本地过程。
max_is 指定有效数组索引的最大值。
module 定义.Idl 文件中的库块。
ms_union 控制非封装联合的网络数据表示形式对齐。
no_injected_text 防止编译器由于使用属性而注入代码。
nonbrowsable 指示不应在属性浏览器中显示接口成员。
noncreatable 定义一个自身不能实例化的对象。
nonextensible 指定 IDispatch 实现仅包含接口说明中列出的属性和方法,并且不能在运行时使用其他成员进行扩展。
object 标识自定义接口;与自定义属性同义。
odl 将接口标识为对象说明语言 (ODL) 接口。
oleautomation 指示接口与自动化兼容。
optional 为成员函数指定可选参数。
out 标识从被调用过程返回到调用过程(从服务器到客户端)的指针参数。
pointer_default 指定除参数列表中显示的顶级指针以外的所有指针的默认指针属性。
pragma 将不带引号字符的指定字符串发送到生成的 .idl 文件中。
progid 为 COM 对象指定 ProgID。
propget 指定属性访问器 (get) 函数。
propput 指定属性设置功能。
propputref 指定使用引用而不是值的属性设置函数。
ptr 将指针指定为全指针。
公共 确保 typedef 将进入类型库,即使它没有从 .idl 文件中引用。
range 指定在运行时设置其值的参数或字段的允许值范围。
rdx 创建或修改注册表项。
readonly 禁止对变量赋值。
ref 标识引用指针。
registration_script 执行指定的注册脚本。
requestedit 指示该属性支持 OnRequestEdit 通知。
requires_category 指定类所需的组件类别。
restricted 指定不能任意调用库或模块、接口或调度接口的成员。
retval 指定接收成员返回值的参数。
satype 指定 SAFEARRAY 的数据类型。
size_is 指定为大小指针、大小指针指向大小指针以及一维或多维数组分配的内存大小。
指示类、属性或方法的成员是事件源。
字符串 指示必须将一维的 charwchar_tbyte 或等效数组或者指向此类数组的指针视为字符串。
support_error_info 支持目标对象的错误报告。
switch_is 指定用作选择联合成员的联合判别符的表达式或标识符。
switch_type 标识用作联合判别符的变量的类型。
synchronize 同步对方法的访问。
threading 指定 COM 对象的线程模型。
transmit_as 指示编译器将客户端和服务器应用程序操作的呈现类型与传输的类型相关联。
uidefault 指示类型信息成员是在用户界面中显示的默认成员。
unique 指定唯一指针。
usesgetlasterror 告知调用方,如果在调用该函数时出错,则调用方可以调用 GetLastError 以检索错误代码。
uuid 指定类或接口的唯一 ID。
v1_enum 指示将指定的枚举类型作为 32 位实体传输而不是默认 16 位传输。
vararg 指定该函数采用的参数数目可变。
version 在多个版本的接口或类之中标识一个特定版本。
vi_progid 指定与版本无关的 ProgID 形式。
wire_marshal 指定将用于传输而不是特定于应用程序的数据类型的数据类型。

另请参阅

COM 和 .NET 的 C++ 属性
按组分的特性
按用法分的特性