读书人

待关于queryinterface的有关问题

发布时间: 2012-02-11 09:51:35 作者: rapoo

在线等待关于queryinterface的问题
为什么用指针的指针来取得指定的接口,只用指针为什么不行呢?
例如:
IMotion *p;
QueryInterface(IID_IMOTION, (void**)&p);
&p的含义是什么?即它所指的是什么内容?谢谢

[解决办法]
p 是返回query到的指针~
QI是为了支持更复杂的规则,比如在QI里面根据请求创建所需要的Object等等,而C++的只能通过继承来实现这点~
[解决办法]
&p是就指针的地址.
你可这样理解:
typedef IMotion* LPMOTION;
typedef void* LPVOID;

把你的代码改写成:
LPMOTION p;
QueryInterface(IID_IMOTION, (LPVOID*)&p);

是不是好理解了呢?
[解决办法]
这个指针变量的地址~

读书人网 >VC/MFC

热点推荐