0

我想知道如何将 COM 指针定义为私有成员。这是我想做的事情:

在 h 文件中:

MCLControlPtr _mcSwitch;  //MCLControPtr is "_COM_SMARTPTR_TYPEDEF(_MCLControlClass, __uuidof(_MCLControlClass));"

在 cpp 构造函数文件中

ThorDetectorSwitch::ThorDetectorSwitch() 
{
     _mcSwitch = new MCLControlPtr _mcSwitch(__uuidof(MCLControlClass));

    _deviceDetected = FALSE;
}

但当然它不允许我构建,因为语法不正确。

我想知道如何使用正确的语法做我想做的事情?基本上在构造函数中初始化一个 COM 智能指针?我也不想使用初始化列表。谢谢。

更新: 有人知道吗?这真是困扰了我好几天。

4

1 回答 1

0

你可以这样做:

在你的头文件中

COMInterface *_comInterface;

在你的 cpp 文件中

COMInterfacePtr comSmartPtr;
hr = ::CoCreateInstance(see reference for stuff inside here);
_comInterface = comSmartPtr;
于 2013-06-17T13:47:42.597 回答