类型库属性

以下关键字指定 IDL 文件中库语句上下文中的类型 信息。

属性 使用情况
aggregatable coclass 定义为可直接公开另一个对象的接口指针的支持对象。
appobject coclass 标识为与完整 EXE 应用程序关联的应用程序对象。
bindable 指示该属性支持数据绑定。 这允许在属性更改值时通知客户端。
coclass 提供组件对象支持的接口的列表。
控制 coclass 标识为 COM 控件,容器站点将从该控件派生其他类型库或组件对象类。
自 定义 定义一个自定义属性 (MIDL) 中未定义的属性。
默认 指示 在 coclass 中定义的接口或 dispinterface 表示默认接口。
defaultbind 指示能够最好地表示该对象的单个可绑定属性。
defaultcollelem 将 属性标记为默认集合的元素的取值函数。 用于 Microsoft Visual Basic 代码优化。
defaultvalue 允许为类型化的可选参数指定默认值。
defaultvtable 允许对象具有两个不同的源接口。
dispinterface 定义一组可以调用 IDispatch::Invoke 的属性和方法。
displaybind 指示应作为可绑定属性显示给用户的属性。
dllname (str) 定义包含模块入口点的 DLL 的名称。
标识一个接口,该接口通过 IDispatch 和直接通过 Vtable 公开属性和方法。
entry 通过标识 DLL 中的入口点,指定模块中导出的函数或常量。
helpcontext 指定一个上下文标识符,该标识符允许用户在帮助文件中查看有关此元素的信息。
helpfile 设置类型库的帮助文件的名称。
helpstring 指定一个字符串,用于描述应用该字符串的元素。
helpstringdll 设置用于执行文档字符串查找的 DLL 的名称。
hidden 指示该项虽然存在,但不应在面向用户的浏览器中显示。
id 指定成员函数的 DISPID(属性或方法,在接口或分派接口中)。
immediatebind 指示将立即向数据库通知对数据绑定对象的属性所做的所有更改。
lcid 应用于 语句以及 localeID 参数时,标识类型库或函数参数的区域设置,并允许在库块中使用国际字符。 在 语句中,从使用 lcid 属性开始,MIDL 将接受根据指定区域设置本地化的输入。
图书馆 指示 MIDL 编译器为 语句中引用的接口和类生成类型库信息。
许可 指示应用它的 coclass 已获得许可,必须使用 IClassFactory2 创建实例。
nonbrowsable 指示属性出现在对象浏览器中, (该浏览器不显示属性值) ,但不出现在属性浏览器中, () 显示属性值。
noncreatable 阻止客户端使用默认类工厂创建对象接口的实例。
nonextensible 指定 IDispatch 实现仅包括接口说明中列出的属性和方法,并且不能在运行时使用其他成员进行扩展。
oleautomation 指示接口与自动化兼容。
(可选) 为成员函数指定可选参数。
propget 指定属性访问器函数。
propput 指定属性设置函数。
propputref 指定使用引用而不是值的属性设置函数。
公共 确保使用 typedef 声明的别名成为类型库的一部分。
readonly 禁止向变量分配新值。
requestedit 指示 属性支持 OnRequestEdit 通知。
restricted 指定不能任意调用库或模块、接口或调度接口的成员。
retval 指定接收成员返回值的参数。
指示 coclass、属性或方法的成员是事件的源。
字符串 指示必须将一维 字符wchar_t字节 (或等效) 数组或指向此类数组的指针视为字符串。
uidefault 指示类型信息成员是在用户界面中显示的默认成员。
usesgetlasterror 指定模块入口点使用 SetLastError 返回错误代码,如果输入函数时出错,调用方随后可以调用 GetLastError 来检索错误代码。
uuid 指定类型库、 coclass 或接口的唯一标识符。
vararg 指定该函数采用的参数数目可变。
版本 标识类型库的特定版本。

 

ODL 文件语法

ODL 文件示例

使用 MIDL 生成类型库