IDL 文件

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

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

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