4

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()ます。

4

2 に答える 2