COM引用计数始终为2

时间:2016-12-20 08:03:26

标签: c++ com

美好的一天。

我最近几天和COM一起工作,当我创建一个实例时,引用计数总是2.我读了一些关于这个主题的问题,并且经常回答一些关于线程的东西。所以我在创建任何线程之前将COM对象创建到程序的开头,并在创建后立即计数为2。我不使用任何 QueryInterface

hr = CoCreateInstance(CLSID_EventViewer, NULL, CLSCTX_LOCAL_SERVER,
    IID_IEventViewer, (void**)&view);
int count = view->AddRef();

1 个答案:

答案 0 :(得分:2)

当您调用CoCreateInstance时,会返回一个已建立引用计数的指针。 (你最终需要致电Release来解放它。)

当您致电AddRef时,您增加引用次数(至2)。为什么在创建对象后立即调用AddRef