IDL 文件

COM 使用 Microsoft 接口定义语言 (MIDL) 来描述 COM 对象。 MIDL 是 Open Software Foundation 定义的分布式计算环境的 IDL 的扩展,它旨在定义传统客户端/服务器应用程序中远程过程调用的接口。 MIDL 包括对象定义语言 (ODL) 的大部分属性和语句,该语言最初用于为 OLE 自动化生成类型库。

在 C++ 和 Java 中,构建 COM 对象的开发人员将创建 MIDL 编译器随后处理的 IDL 文件以创建类型库或标头和代理文件,或者同时创建这两者。 类型库是描述 COM 对象或 COM 接口的二进制文件,或者这两者。 类型库是 IDL 文件的编译版本。 但是,类型库仅支持 ODL 语义。 具体而言,它们不能表示与 IDL 属性(如 [size_is])相关的 IDL 文件中的所有信息。 需要为受类型库中信息丢失影响的 IDL 文件创建和使用代理文件。

在Visual Basic中,创建 COM 对象的开发人员不会创建 IDL 文件。 相反,Visual Basic使用类和项目属性收集信息,并直接创建类型库。