Обработка возвращаемого значения CoCreateInstance
Вот пример кода для создания COM-объекта:
CComPtr<IBaseFilter> pFilter;
auto hr = CoCreateInstance(CLSID_DMOWrapperFilter, NULL,
CLSCTX_INPROC_SERVER, IID_IBaseFilter, reinterpret_cast<void**>(&pFilter));
Я где-то видел, чтобы проверить, еслиCoCreateInstance()
Успешно должно выглядеть так:
if (SUCCEEDED(hr) && pFilter != nullptr)
{
// code goes here
}
Что если я проверю толькоhr
? Разве этого не будет достаточно? Должен ли я также проверить, чтоfilter != nullptr
?
//would this be enough?
if (SUCCEEDED(hr))
{
// code goes here
}
Этот вопрос также касается других методов COM, таких какQueryInterface()
.