static HRESULT WINAPI domtext_QueryInterface( IXMLDOMText *iface, REFIID riid, void** ppvObject ) { domtext *This = impl_from_IXMLDOMText( iface ); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualGUID( riid, &IID_IXMLDOMText ) || IsEqualGUID( riid, &IID_IXMLDOMCharacterData) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown ) ) { *ppvObject = iface; } else if ( IsEqualGUID( riid, &IID_IXMLDOMNode ) ) { *ppvObject = IXMLDOMNode_from_impl(&This->node); } else if ( IsEqualGUID( riid, &IID_IXMLDOMElement ) || IsEqualGUID( riid, &IID_IXMLDOMCDATASection ) ) { /* IXMLDOMText is known to be correct in not implementing these */ TRACE("Unsupported interface\n"); return E_NOINTERFACE; } else { FIXME("Unsupported interface %s\n", debugstr_guid(riid)); return E_NOINTERFACE; } IXMLDOMText_AddRef((IUnknown*)*ppvObject); return S_OK; }
static HRESULT WINAPI domtext_QueryInterface( IXMLDOMText *iface, REFIID riid, void** ppvObject ) { domtext *This = impl_from_IXMLDOMText( iface ); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualGUID( riid, &IID_IXMLDOMText ) || IsEqualGUID( riid, &IID_IXMLDOMCharacterData) || IsEqualGUID( riid, &IID_IXMLDOMNode ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown ) ) { *ppvObject = iface; } else if(node_query_interface(&This->node, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else { TRACE("Unsupported interface %s\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMText_AddRef((IUnknown*)*ppvObject); return S_OK; }
static HRESULT WINAPI domfrag_QueryInterface( IXMLDOMDocumentFragment *iface, REFIID riid, void** ppvObject ) { domfrag *This = impl_from_IXMLDOMDocumentFragment( iface ); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualGUID( riid, &IID_IXMLDOMDocumentFragment ) || IsEqualGUID( riid, &IID_IXMLDOMNode ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown ) ) { *ppvObject = iface; } else if(node_query_interface(&This->node, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else if(IsEqualGUID( riid, &IID_ISupportErrorInfo )) { return node_create_supporterrorinfo(domfrag_se_tids, ppvObject); } else { TRACE("Unsupported interface %s\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMText_AddRef((IUnknown*)*ppvObject); return S_OK; }