以下特性适用于 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。