在这个C++/COM shell 扩展教程中,程序员演示了(出于启发目的)您可以放弃调用QueryInterface()
并简单地传递一个通用对象。至少在实施时有效DllGetClassObject()
。他说,目的QueryInterface()
只是让每个对象自己说明它是否支持给定的接口。
与此同时,微软似乎说,QueryInterface()
要获得指向对象上特定接口的指针是必要的。
那么需要到什么程度QueryInterface()
呢?是否有任何时候调用QueryInterface()
是绝对必要的,没有它,代码就无法工作?还是如视频教程所暗示的那样,从技术上获取对象本身就足够了?