static HRESULT WINAPI xmlnodelist__newEnum( IXMLDOMNodeList* iface, IUnknown** enumv) { xmlnodelist *This = impl_from_IXMLDOMNodeList( iface ); TRACE("(%p)->(%p)\n", This, enumv); return create_enumvariant((IUnknown*)iface, TRUE, &nodelist_enumvariant, (IEnumVARIANT**)enumv); }
static HRESULT WINAPI domselection_get__newEnum( IXMLDOMSelection* iface, IUnknown** ppUnk) { domselection *This = impl_from_IXMLDOMSelection( iface ); TRACE("(%p)->(%p)\n", This, ppUnk); return create_enumvariant(iface, TRUE, ppUnk); }
static HRESULT WINAPI domselection_get__newEnum( IXMLDOMSelection* iface, IUnknown** enumv) { domselection *This = impl_from_IXMLDOMSelection( iface ); TRACE("(%p)->(%p)\n", This, enumv); return create_enumvariant((IUnknown*)iface, TRUE, &selection_enumvariant, (IEnumVARIANT**)enumv); }
static HRESULT WINAPI xmlnodelist_QueryInterface( IXMLDOMNodeList *iface, REFIID riid, void** ppvObject ) { xmlnodelist *This = impl_from_IXMLDOMNodeList( iface ); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject); #ifdef __REACTOS__ if (!ppvObject) { /* NOTE: Interface documentation for IUnknown explicitly states * this case should return E_POINTER. Empirical data proves * MS violates this contract and instead return E_INVALIDARG. */ return E_INVALIDARG; } #endif if ( IsEqualGUID( riid, &IID_IUnknown ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IXMLDOMNodeList ) ) { *ppvObject = iface; } else if (IsEqualGUID( riid, &IID_IEnumVARIANT )) { if (!This->enumvariant) { HRESULT hr = create_enumvariant((IUnknown*)iface, FALSE, &nodelist_enumvariant, &This->enumvariant); if (FAILED(hr)) return hr; } return IEnumVARIANT_QueryInterface(This->enumvariant, &IID_IEnumVARIANT, ppvObject); } else if (dispex_query_interface(&This->dispex, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else { TRACE("interface %s not implemented\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMNodeList_AddRef( iface ); return S_OK; }
static HRESULT WINAPI domselection_QueryInterface( IXMLDOMSelection *iface, REFIID riid, void** ppvObject ) { domselection *This = impl_from_IXMLDOMSelection( iface ); TRACE("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppvObject); if(!ppvObject) return E_INVALIDARG; if ( IsEqualGUID( riid, &IID_IUnknown ) || IsEqualGUID( riid, &IID_IXMLDOMNodeList ) || IsEqualGUID( riid, &IID_IXMLDOMSelection )) { *ppvObject = &This->IXMLDOMSelection_iface; } else if (IsEqualGUID( riid, &IID_IEnumVARIANT )) { if (!This->enumvariant) { HRESULT hr = create_enumvariant(iface, FALSE, (IUnknown**)&This->enumvariant); if (FAILED(hr)) return hr; } return IEnumVARIANT_QueryInterface(This->enumvariant, &IID_IEnumVARIANT, ppvObject); } else if (dispex_query_interface(&This->dispex, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else { TRACE("interface %s not implemented\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMSelection_AddRef( iface ); return S_OK; }
static HRESULT WINAPI xmlnodemap_QueryInterface( IXMLDOMNamedNodeMap *iface, REFIID riid, void** ppvObject ) { xmlnodemap *This = impl_from_IXMLDOMNamedNodeMap( iface ); TRACE("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppvObject); if( IsEqualGUID( riid, &IID_IUnknown ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IXMLDOMNamedNodeMap ) ) { *ppvObject = iface; } else if (IsEqualGUID( riid, &IID_IEnumVARIANT )) { if (!This->enumvariant) { HRESULT hr = create_enumvariant((IUnknown*)iface, FALSE, &nodemap_enumvariant, &This->enumvariant); if (FAILED(hr)) return hr; } return IEnumVARIANT_QueryInterface(This->enumvariant, &IID_IEnumVARIANT, ppvObject); } else if (dispex_query_interface(&This->dispex, riid, ppvObject)) { return *ppvObject ? S_OK : E_NOINTERFACE; } else if( IsEqualGUID( riid, &IID_ISupportErrorInfo )) { *ppvObject = &This->ISupportErrorInfo_iface; } else { TRACE("interface %s not implemented\n", debugstr_guid(riid)); *ppvObject = NULL; return E_NOINTERFACE; } IXMLDOMNamedNodeMap_AddRef( iface ); return S_OK; }
static HRESULT WINAPI schema_cache_get__newEnum(IXMLDOMSchemaCollection2* iface, IUnknown** enumv) { schema_cache* This = impl_from_IXMLDOMSchemaCollection2(iface); TRACE("(%p)->(%p)\n", This, enumv); return create_enumvariant((IUnknown*)iface, TRUE, &schemacache_enumvariant, (IEnumVARIANT**)enumv); }