Marcus Meissner <mar...@jet.franken.de> wrote: > + unk = NULL; > hr = IDropTarget_QueryInterface(pDropTarget, &IID_IUnknown, (void**)&unk); > if(FAILED(hr)) > { > IStream_Release(stream); > return hr; > } > + if (!unk) { > + WARN("hr was %d, but unk is NULL.\n", hr); > + IStream_Release(stream); > + return E_NOINTERFACE; > + } > hr = CoMarshalInterface(stream, &IID_IDropTarget, unk, MSHCTX_LOCAL, NULL, > MSHLFLAGS_TABLESTRONG); > IUnknown_Release(unk);
Huw suggested a more simple solution which doesn't lead to duplicated code: + unk = NULL; hr = IDropTarget_QueryInterface(pDropTarget, &IID_IUnknown, (void**)&unk); + if (!unk) hr = E_NOINTERFACE; if(FAILED(hr)) -- Dmitry.