static HRESULT WINAPI domcomment_QueryInterface( IXMLDOMComment *iface, REFIID riid, void** ppvObject ) { domcomment *This = impl_from_IXMLDOMComment( iface ); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualGUID( riid, &IID_IXMLDOMComment ) || 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 if(IsEqualGUID( riid, &IID_ISupportErrorInfo )) { return node_create_supporterrorinfo(domcomment_se_tids, ppvObject); } else { TRACE("Unsupported interface %s\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMComment_AddRef(iface); return S_OK; }
static HRESULT WINAPI domcomment_QueryInterface( IXMLDOMComment *iface, REFIID riid, void** ppvObject ) { domcomment *This = impl_from_IXMLDOMComment( iface ); TRACE("%p %s %p\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualGUID( riid, &IID_IXMLDOMComment ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown ) ) { *ppvObject = iface; } else if ( IsEqualGUID( riid, &IID_IXMLDOMNode ) ) { return IUnknown_QueryInterface(This->node_unk, riid, ppvObject); } else { FIXME("Unsupported interface %s\n", debugstr_guid(riid)); return E_NOINTERFACE; } IXMLDOMComment_AddRef( iface ); return S_OK; }