Behandlung des Rückgabewerts von CoCreateInstance

Hier ist ein Codebeispiel zum Erstellen eines COM-Objekts:

CComPtr<IBaseFilter> pFilter;
auto hr = CoCreateInstance(CLSID_DMOWrapperFilter, NULL,
    CLSCTX_INPROC_SERVER, IID_IBaseFilter, reinterpret_cast<void**>(&pFilter));

Ich habe irgendwo gesehen, dass überprüft, obCoCreateInstance() Erfolgreich sollte so aussehen:

if (SUCCEEDED(hr) && pFilter != nullptr)
{
  // code goes here
}

Was wäre, wenn ich nur nachschauen würde?hr? Wäre es nicht genug? Soll ich das auch überprüfenfilter != nullptr?

//would this be enough?
if (SUCCEEDED(hr))
{
  // code goes here
}

Diese Frage betrifft auch andere COM-Methoden wieQueryInterface().

Antworten auf die Frage(2)

Ihre Antwort auf die Frage