在接口定义中:
in、out指定了参数传递的方向
reval指定了参数应当被当做方法的返回值
coclass指定了独立的组件以及它们支持的接口
IDL被编译为二进制格式,即类型库,(TLB文件)
COM接口是通过C++的Vtable建立起来的
使用ATL AppWizard创建的 工程仅仅为COM组件提供了基本的宿主支持,比不涉及实现
属性 + 接口定义
属性:
1.uuid指明了接口的GUID
2.helpstring指定了一些浏览器可以显示的文本,
3.pointer_default设定了默认的指针属性
library指定了库的名称
coclass指定了独立的组件以及它支持的接口
IDL为ATL工程提供了(通过MIDL编译器)
1.定义了接口和标识符
2.生成类型库(TLB文件),指明了client如何访问组件
3.生成了一系列C文件和一个make文件,并根据它们来创建代理/占位DLL