我想知道如何将COM指针定义为私有成员。下面是我想做的:
:
MCLControlPtr _mcSwitch; //MCLControPtr is "_COM_SMARTPTR_TYPEDEF(_MCLControlClass, __uuidof(_MCLControlClass));"
在CPP构造文件
ThorDetectorSwitch::ThorDetectorSwitch()
{
_mcSwitch = new MCLControlPtr _mcSwitch(__uuidof(MCLControlClass));
_deviceDetected = FALSE;
}
,但它当然不允许我构建,因为语法不对。
我想知道如何用正确的语法做我想做的事情?基本上初始化一个COM智能指针在构造函数?我也不想使用初始化列表。谢谢。
更新:有人知道吗?这事已经困扰我好几天了。
你可以这样做:
在你的头文件
COMInterface *_comInterface;
在cpp文件
COMInterfacePtr comSmartPtr;
hr = ::CoCreateInstance(see reference for stuff inside here);
_comInterface = comSmartPtr;