Обработка возвращаемого значения 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().

Ответы на вопрос(2)

Ваш ответ на вопрос