我有一个 .NET 应用程序,它使用 COM 互操作使用 COM 组件,组件实例化本身和接口指针在 API cal 中返回给 .net 包装器,在应用程序流程的稍后时间点对 COM 进行调用零件。
//Pseudo code
//CLISD_ITEM is a another CoClass housed by this COM component, the component is a STA based dll
HRESULT GetItem(ITem **ptr)
{
HRESULT hr = CoCreateInstance(CLSID_ITEM.....,....(void **) &pItem);
pItem->QI(ptr);
}
我的问题是我是否应该在函数 GetItem 中调用 CoInitialize 和 CoUninitialize(),到目前为止,我还没有进行这些调用,而且代码似乎工作正常,但是有报告称调用 CoCreateInstance 时出现了一些间歇性崩溃。
如果有人可以在这里帮助我。