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()
.