再次理解COM对象:
以前说:一个COM对象事实上是一个或一套实现了大量接口的C++类,这些接口用于和COM对象进行交流!!!
现在说:COM对象其实就是接口集,该接口集也就是函数指针(更准确的说是VTABLE)。
个人理解:由上一篇博客“一个可运行的COM程序”可推测,一个COM对象就是最终实现了一系列接口(如CCOM_OBJECT实现了IX、IY)的那个类产生的一个实例(和C++中一般的对象相类比),这个实例对象可以通过其实现的QueryInterface()方法检索出指向各个接口(IX、IY)的指针(该指针指向相应的虚函数表),也就是实现了同一个COM对象个接口之间可以相互切换!!!
使用DirectX COM对象来工作,只要创建COM兑现,获得一个接口指针,然后使用正确的语法调用接口即可。。。
举例:我用主DirectDraw接口来演示一下
先决基础:
1、DirectDraw运行时COM对象和DDL必须被加载和注册。这是DirectX安装程序干的事情。
·2、你必须在你的win32程序中include DD