/***************************************************************************** * IDirect3DVertexBuffer7::QueryInterface * * The QueryInterface Method for Vertex Buffers * For a link to QueryInterface rules, see IDirectDraw7::QueryInterface * * Params * riid: Queried Interface id * obj: Address to return the interface pointer * * Returns: * S_OK on success * E_NOINTERFACE if the interface wasn't found * *****************************************************************************/ static HRESULT WINAPI d3d_vertex_buffer7_QueryInterface(IDirect3DVertexBuffer7 *iface, REFIID riid, void **obj) { struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), obj); /* By default, set the object pointer to NULL */ *obj = NULL; if ( IsEqualGUID( &IID_IUnknown, riid ) ) { IDirect3DVertexBuffer7_AddRef(iface); *obj = iface; TRACE(" Creating IUnknown interface at %p.\n", *obj); return S_OK; } if ( IsEqualGUID( &IID_IDirect3DVertexBuffer, riid ) ) { IDirect3DVertexBuffer7_AddRef(iface); *obj = &buffer->IDirect3DVertexBuffer_iface; TRACE(" Creating IDirect3DVertexBuffer interface %p\n", *obj); return S_OK; } if ( IsEqualGUID( &IID_IDirect3DVertexBuffer7, riid ) ) { IDirect3DVertexBuffer7_AddRef(iface); *obj = iface; TRACE(" Creating IDirect3DVertexBuffer7 interface %p\n", *obj); return S_OK; } WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid)); return E_NOINTERFACE; }
/***************************************************************************** * IDirect3DVertexBuffer7::QueryInterface * * The QueryInterface Method for Vertex Buffers * For a link to QueryInterface rules, see IDirectDraw7::QueryInterface * * Params * riid: Queryied Interface id * obj: Address to return the interface pointer * * Returns: * S_OK on success * E_NOINTERFACE if the interface wasn't found * *****************************************************************************/ static HRESULT WINAPI IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBuffer7 *iface, REFIID riid, void **obj) { ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj); /* By default, set the object pointer to NULL */ *obj = NULL; if ( IsEqualGUID( &IID_IUnknown, riid ) ) { IDirect3DVertexBuffer7_AddRef(ICOM_INTERFACE(This,IDirect3DVertexBuffer7)); *obj = iface; TRACE(" Creating IUnknown interface at %p.\n", *obj); return S_OK; } if ( IsEqualGUID( &IID_IDirect3DVertexBuffer, riid ) ) { IDirect3DVertexBuffer7_AddRef(ICOM_INTERFACE(This,IDirect3DVertexBuffer7)); *obj = ICOM_INTERFACE(This, IDirect3DVertexBuffer); TRACE(" Creating IDirect3DVertexBuffer interface %p\n", *obj); return S_OK; } if ( IsEqualGUID( &IID_IDirect3DVertexBuffer7, riid ) ) { IDirect3DVertexBuffer7_AddRef(ICOM_INTERFACE(This,IDirect3DVertexBuffer7)); *obj = ICOM_INTERFACE(This, IDirect3DVertexBuffer7); TRACE(" Creating IDirect3DVertexBuffer7 interface %p\n", *obj); return S_OK; } FIXME("(%p): interface for IID %s NOT found!\n", This, debugstr_guid(riid)); return E_NOINTERFACE; }
static ULONG WINAPI Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) { TRACE("iface %p.\n", iface); return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)vb_from_vb1(iface)); }
static ULONG WINAPI Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) { IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This); return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)This); }
static ULONG WINAPI Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) { ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This); return IDirect3DVertexBuffer7_AddRef(ICOM_INTERFACE(This, IDirect3DVertexBuffer7)); }
static ULONG WINAPI IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) { IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer(iface); TRACE("iface %p.\n", iface); return IDirect3DVertexBuffer7_AddRef(&This->IDirect3DVertexBuffer7_iface); }