Marcus Meissner <marcus(a)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.