static HRESULT WINAPI HTMLElementCollection_QueryInterface(IHTMLElementCollection *iface, REFIID riid, void **ppv) { HTMLElementCollection *This = impl_from_IHTMLElementCollection(iface); *ppv = NULL; if(IsEqualGUID(&IID_IUnknown, riid)) { TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); *ppv = &This->IHTMLElementCollection_iface; }else if(IsEqualGUID(&IID_IHTMLElementCollection, riid)) { TRACE("(%p)->(IID_IHTMLElementCollection %p)\n", This, ppv); *ppv = &This->IHTMLElementCollection_iface; }else if(dispex_query_interface(&This->dispex, riid, ppv)) { return *ppv ? S_OK : E_NOINTERFACE; } if(*ppv) { IHTMLElementCollection_AddRef(&This->IHTMLElementCollection_iface); return S_OK; } FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); return E_NOINTERFACE; }
static HRESULT WINAPI HTMLElementCollection_QueryInterface(IHTMLElementCollection *iface, REFIID riid, void **ppv) { HTMLElementCollection *This = impl_from_IHTMLElementCollection(iface); if(IsEqualGUID(&IID_IUnknown, riid)) { *ppv = &This->IHTMLElementCollection_iface; }else if(IsEqualGUID(&IID_IHTMLElementCollection, riid)) { *ppv = &This->IHTMLElementCollection_iface; }else if(dispex_query_interface(&This->dispex, riid, ppv)) { return *ppv ? S_OK : E_NOINTERFACE; }else { *ppv = NULL; FIXME("Unsupported iface %s\n", debugstr_mshtml_guid(riid)); return E_NOINTERFACE; } IHTMLElementCollection_AddRef(&This->IHTMLElementCollection_iface); return S_OK; }
static HRESULT WINAPI HTMLElementCollection_get__newEnum(IHTMLElementCollection *iface, IUnknown **p) { HTMLElementCollection *This = impl_from_IHTMLElementCollection(iface); HTMLElementCollectionEnum *ret; TRACE("(%p)->(%p)\n", This, p); ret = heap_alloc(sizeof(*ret)); if(!ret) return E_OUTOFMEMORY; ret->IEnumVARIANT_iface.lpVtbl = &HTMLElementCollectionEnumVtbl; ret->ref = 1; ret->iter = 0; IHTMLElementCollection_AddRef(&This->IHTMLElementCollection_iface); ret->col = This; *p = (IUnknown*)&ret->IEnumVARIANT_iface; return S_OK; }