本主题根据应用特性的 C++ 语言元素列出这些特性。
如果特性后面的元素不在特性范围中,则特性块将被视为注释。
| 特征 | 说明 |
|---|---|
| 模块特性 | 适用于模块特性。 |
| 接口特性 | 适用于 C++ 关键字 __interface。 |
| 类特性 | 适用于 C++ 关键字。 |
| 方法特性 | 适用于类、组件类或接口中的方法。 |
| 参数特性 | 适用于类或接口中的方法的参数。 |
| 数据成员特性 | 适用于类、组件类或接口中的数据成员。 |
| Typedef、Enum、Union 和 Struct 特性 | 适用于 C++ 关键字。 |
| 数组特性 | 适用于数组或 SAFEARRAY。 |
| 独立特性 | 操作更类似于代码行,但不对 C++ 关键字进行操作。 独立特性语句需要行末尾有一个分号。 |
| 自定义属性 | 允许用户扩展元数据。 |
模块特性
以下特性只能应用于模块属性。
| 特征 | 说明 |
|---|---|
| helpstringdll | 指定要用于执行文档字符串查找(本地化)的 DLL 名称。 |
接口特性
以下特性适用于 C++ 关键字 interface(或 __interface)。
| 特征 | 说明 |
|---|---|
| async_uuid | 指定可指示 MIDL 编译器同时定义 COM 接口的同步版本和异步版本的 UUID。 |
| 习惯 | 让你定义自己的属性。 |
| dispinterface | 将一个接口作为调度接口置于 .idl 文件中。 |
| 对偶 | 将一个接口作为 dual 接口置于 .idl 文件中。 |
| 导出 | 使数据结构置于 .idl 文件中。 |
| helpcontext | 指定允许用户在帮助文件中查看有关此元素的信息的上下文 ID。 |
| 帮助文件 | 设置类型库的帮助文件的名称。 |
| helpstring | 指定一个字符串,用于描述应用该字符串的元素。 |
| helpstringcontext | 指定 .hlp 或 .chm 文件中帮助主题的 ID。 |
| helpstringdll | 指定要用于执行文档字符串查找(本地化)的 DLL 名称。 |
| 隐藏 | 指示该项虽然存在,但不应在面向用户的浏览器中显示。 |
| library_block | 将构造置于 .idl 文件的库块内。 |
| 本地 | 在接口标头中使用时,允许将 MIDL 编译器用作标头生成器。 在单个函数中使用时,指定不为其生成存根的本地过程。 |
| nonextensible | 指定 IDispatch 实现仅包含接口说明中列出的属性和方法,并且不能在运行时使用其他成员进行扩展。 此特性仅在双重接口上有效。 |
| odl | 将接口标识为对象说明语言 (ODL) 接口。 |
| 对象 | 标识自定义接口。 |
| oleautomation | 指示接口与自动化兼容。 |
| pointer_default | 指定除参数列表中显示的顶级指针以外的所有指针的默认指针属性。 |
| ptr | 将指针指定为全指针。 |
| 限制 | 指定不能随意调用库中的哪些成员。 |
| uuid | 提供库的唯一 ID |
必须遵循以下规则来定义接口:
默认调用约定是 __stdcall。
如果你未提供 GUID,系统将为你提供 GUID。
不允许使用重载方法。
如果未指定 uuid 特性并在不同的特性项目中使用相同的接口名称,则会生成相同的 GUID。