static HRESULT WINAPI xmlelem_collection_QueryInterface(IXMLElementCollection *iface, REFIID riid, void** ppvObject) { xmlelem_collection *This = impl_from_IXMLElementCollection(iface); TRACE("%p %s %p\n", This, debugstr_guid(riid), ppvObject); if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IXMLElementCollection)) { *ppvObject = iface; } else if (IsEqualGUID(riid, &IID_IEnumVARIANT)) { *ppvObject = (IEnumVARIANT *)&(This->lpvtblIEnumVARIANT); } else { FIXME("interface %s not implemented\n", debugstr_guid(riid)); return E_NOINTERFACE; } IXMLElementCollection_AddRef(iface); return S_OK; }
static HRESULT WINAPI xmlelem_collection_get__newEnum(IXMLElementCollection *iface, IUnknown **ppUnk) { xmlelem_collection *This = impl_from_IXMLElementCollection(iface); TRACE("(%p)->(%p)\n", This, ppUnk); if (!ppUnk) return E_INVALIDARG; IXMLElementCollection_AddRef(iface); *ppUnk = (IUnknown *)&This->IEnumVARIANT_iface; return S_OK; }
static ULONG WINAPI xmlelem_collection_IEnumVARIANT_AddRef( IEnumVARIANT *iface) { xmlelem_collection *this = impl_from_IEnumVARIANT(iface); return IXMLElementCollection_AddRef(&this->IXMLElementCollection_iface); }