/***************************************************************************** * IDirect3DViewport3::QueryInterface * * A normal QueryInterface. Can query all interface versions and the * IUnknown interface. The VTables of the different versions * are equal * * Params: * refiid: Interface id queried for * obj: Address to write the interface pointer to * * Returns: * S_OK on success. * E_NOINTERFACE if the requested interface wasn't found * *****************************************************************************/ static HRESULT WINAPI IDirect3DViewportImpl_QueryInterface(IDirect3DViewport3 *iface, REFIID riid, void **object) { TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object); if (IsEqualGUID(&IID_IDirect3DViewport3, riid) || IsEqualGUID(&IID_IDirect3DViewport2, riid) || IsEqualGUID(&IID_IDirect3DViewport, riid) || IsEqualGUID(&IID_IUnknown, riid)) { IDirect3DViewport3_AddRef(iface); *object = iface; return S_OK; } WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid)); *object = NULL; return E_NOINTERFACE; }
/***************************************************************************** * IDirect3DViewport3::QueryInterface * * A normal QueryInterface. Can query all interface versions and the * IUnknown interface. The VTables of the different versions * are equal * * Params: * refiid: Interface id queried for * obj: Address to write the interface pointer to * * Returns: * S_OK on success. * E_NOINTERFACE if the requested interface wasn't found * *****************************************************************************/ static HRESULT WINAPI IDirect3DViewportImpl_QueryInterface(IDirect3DViewport3 *iface, REFIID riid, void **obp) { ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obp); *obp = NULL; if ( IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IDirect3DViewport, riid) || IsEqualGUID(&IID_IDirect3DViewport2, riid) || IsEqualGUID(&IID_IDirect3DViewport3, riid) ) { IDirect3DViewport3_AddRef(ICOM_INTERFACE(This, IDirect3DViewport3)); *obp = ICOM_INTERFACE(This, IDirect3DViewport3); TRACE(" Creating IDirect3DViewport1/2/3 interface %p\n", *obp); return S_OK; } FIXME("(%p): interface for IID %s NOT found!\n", This, debugstr_guid(riid)); return E_NOINTERFACE; }