static HRESULT WINAPI schema_cache_QueryInterface(IXMLDOMSchemaCollection2* iface, REFIID riid, void** ppvObject) { schema_cache* This = impl_from_IXMLDOMSchemaCollection2(iface); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDispatch) || IsEqualIID(riid, &IID_IXMLDOMSchemaCollection) || IsEqualIID(riid, &IID_IXMLDOMSchemaCollection2) ) { *ppvObject = iface; } else if (dispex_query_interface(&This->dispex, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else if(IsEqualGUID( riid, &IID_ISupportErrorInfo )) { return node_create_supporterrorinfo(schema_cache_se_tids, ppvObject); } else { FIXME("interface %s not implemented\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMSchemaCollection2_AddRef(iface); return S_OK; }
static HRESULT WINAPI schema_cache_QueryInterface(IXMLDOMSchemaCollection2* iface, REFIID riid, void** ppvObject) { schema_cache* This = impl_from_IXMLDOMSchemaCollection2(iface); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); if ( IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDispatch) || IsEqualIID(riid, &IID_IXMLDOMSchemaCollection) || IsEqualIID(riid, &IID_IXMLDOMSchemaCollection2) ) { *ppvObject = iface; } else { FIXME("interface %s not implemented\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMSchemaCollection2_AddRef(iface); return S_OK; }