c++中createinstance函数是什么
时间: 2024-03-23 20:42:38 浏览: 52
C++ COM编程之QueryInterface函数(一)
在C++中,CreateInstance函数是一种用于创建COM对象实例的函数,通常由COM对象的类工厂提供。它与COM中的CreateInstance函数类似,但是在C++中,它是通过实现静态CreateInstance函数来提供的。该函数通常有以下格式:
```
HRESULT MyObj::CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
{
if (pUnkOuter != NULL)
{
return CLASS_E_NOAGGREGATION;
}
MyObj* pObj = new MyObj();
if (pObj == NULL)
{
return E_OUTOFMEMORY;
}
HRESULT hr = pObj->QueryInterface(riid, ppvObject);
if (FAILED(hr))
{
delete pObj;
return hr;
}
return S_OK;
}
```
其中,MyObj是COM对象的类名。CreateInstance函数创建COM对象的实例,并将指向该实例的指针存储在ppvObject参数中。如果对象不能创建,则返回相应的HRESULT错误代码。
阅读全文