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