static HRESULT WINAPI HTMLDOMNode_QueryInterface(IHTMLDOMNode *iface, REFIID riid, void **ppv) { HTMLDOMNode *This = HTMLDOMNODE_THIS(iface); HRESULT hres; if(This->impl.unk) return IUnknown_QueryInterface(This->impl.unk, riid, ppv); hres = HTMLDOMNode_QI(This, riid, ppv); if(FAILED(hres)) WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); return hres; }
static HRESULT HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) { HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface); *ppv = NULL; if(IsEqualGUID(&IID_IHTMLDOMTextNode, riid)) { TRACE("(%p)->(IID_IHTMLDOMTextNode %p)\n", This, ppv); *ppv = &This->IHTMLDOMTextNode_iface; }else { return HTMLDOMNode_QI(&This->node, riid, ppv); } IUnknown_AddRef((IUnknown*)*ppv); return S_OK; }
static HRESULT HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) { HTMLDOMTextNode *This = impl_from_HTMLDOMNode(iface); TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv); if(IsEqualGUID(&IID_IHTMLDOMTextNode, riid)) *ppv = &This->IHTMLDOMTextNode_iface; else if(IsEqualGUID(&IID_IHTMLDOMTextNode2, riid)) *ppv = &This->IHTMLDOMTextNode2_iface; else return HTMLDOMNode_QI(&This->node, riid, ppv); IUnknown_AddRef((IUnknown*)*ppv); return S_OK; }
HRESULT HTMLDOMTextNode_QI(HTMLDOMNode *iface, REFIID riid, void **ppv) { HTMLDOMTextNode *This = HTMLTEXT_NODE_THIS(iface); *ppv = NULL; if(IsEqualGUID(&IID_IHTMLDOMTextNode, riid)) { TRACE("(%p)->(IID_IHTMLDOMTextNode %p)\n", This, ppv); *ppv = HTMLTEXT(This); }else { return HTMLDOMNode_QI(&This->node, riid, ppv); } IUnknown_AddRef((IUnknown*)*ppv); return S_OK; }