Вот пример кода создания COM-объекта:Обработка возвращаемого значения CoCreateInstance
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()
.
Похожие:.. Http://stackoverflow.com/q/25325891/57428 – sharptooth