Marcus Meissner marcus@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))