佚名通过本文主要向大家介绍了一个鸡蛋搞定祛斑问题,初稿把查重问题搞定,一招搞定夏天脚气问题,首席娇妻难搞定,大牌甜妻难搞定等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 比较难的问题,谁能搞定,分大大的送上
描述:
解决方案1:
描述:
如何通过一个接口指针得到该com对象的指针:比如如下例子:
有一接口函数:
STDMETHODIMP CTrackingLayer::AddEvent(IPolygon *shape)
{
我的意思是如何通过shape参数得到指向CComObject<CPolygon> *pObj的指针,因为我想调用该com对象非接口函数和变量!谢谢!
希望各位高手不要问我为什么要这样实现,只想知道这样能不能得到,如果能,给出答案,如果不能,请讲出原因!万分感谢!
CPolygon 是一个COM实现类,实现了IPolygon接口。
}
解决方案1:
CComObject<CPolygon> *pObj = NULL;
pObj= static_cast< CPolygon* >(shape);
//应该可以的,原因是在QueryInterface(REFIID riid,void **ppv)
{
if(rrid == IID_IUnknown)
*ppv = static_cast<IUnknown*>(&m_xCar);//m_xCar是实现类的一个对象,当然也可以反过来用呀!
}
没试过,看看强制转换接口指针能不能行?