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