CoCreateInstance是在我正在创建的接口(interface)上自动调用AddRef还是事后应该手动调用它? 最佳答案 只要您从此类函数(例如CoCreateInstance(),QueryInterface()(CoCreateInstance()最终调用的对象))等函数中获得对象,COM就可以与之签订契约(Contract),被调用方总是在返回之前调用AddRef(),并且完成后,调用方(您)始终会释放()。您可以使用CComPtr 简化此过程,并且它做对了。现在,如果您需要将此指针分发给另一个希望在对象的生命周期之外可用的对象,则需要在发出它之前调用AddRef()。我建议Essential COM by Don Box以便进一步阅读该主题。
10-04 10:01