本文整理汇总了C++中HTMLElement_QI函数的典型用法代码示例。如果您正苦于以下问题:C++ HTMLElement_QI函数的具体用法?C++ HTMLElement_QI怎么用?C++ HTMLElement_QI使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了HTMLElement_QI函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HTMLBodyElement_QI
static HRESULT HTMLBodyElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLBodyElement *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->IHTMLBodyElement_iface;
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = &This->IHTMLBodyElement_iface;
}else if(IsEqualGUID(&IID_IHTMLBodyElement, riid)) {
TRACE("(%p)->(IID_IHTMLBodyElement %p)\n", This, ppv);
*ppv = &This->IHTMLBodyElement_iface;
}else if(IsEqualGUID(&IID_IHTMLTextContainer, riid)) {
TRACE("(%p)->(IID_IHTMLTextContainer %p)\n", &This->textcont, ppv);
*ppv = &This->textcont.IHTMLTextContainer_iface;
}
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
return HTMLElement_QI(&This->textcont.element.node, riid, ppv);
}
示例2: HTMLTable_QI
static HRESULT HTMLTable_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLTable *This = impl_from_HTMLDOMNode(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->IHTMLTable_iface;
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = &This->IHTMLTable_iface;
}else if(IsEqualGUID(&IID_IHTMLTable, riid)) {
TRACE("(%p)->(IID_IHTMLTable %p)\n", This, ppv);
*ppv = &This->IHTMLTable_iface;
}else if(IsEqualGUID(&IID_IHTMLTable2, riid)) {
TRACE("(%p)->(IID_IHTMLTable2 %p)\n", This, ppv);
*ppv = &This->IHTMLTable2_iface;
}else if(IsEqualGUID(&IID_IHTMLTable3, riid)) {
TRACE("(%p)->(IID_IHTMLTable3 %p)\n", This, ppv);
*ppv = &This->IHTMLTable3_iface;
}
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
return HTMLElement_QI(&This->element.node, riid, ppv);
}
示例3: HTMLInputElement_QueryInterface
static HRESULT WINAPI HTMLInputElement_QueryInterface(IHTMLInputElement *iface,
REFIID riid, void **ppv)
{
HTMLInputElement *This = HTMLINPUT_THIS(iface);
HRESULT hres;
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = HTMLINPUT(This);
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = HTMLINPUT(This);
}else if(IsEqualGUID(&IID_IHTMLInputElement, riid)) {
TRACE("(%p)->(IID_IHTMLInputElement %p)\n", This, ppv);
*ppv = HTMLINPUT(This);
}
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
hres = HTMLElement_QI(This->element, riid, ppv);
if(FAILED(hres))
WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
return hres;
}
示例4: SVGElement_QI
static HRESULT SVGElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
SVGElement *This = SVGElement_from_HTMLDOMNode(iface);
TRACE("(%p)->(%s %p)\n", This, debugstr_mshtml_guid(riid), ppv);
if(IsEqualGUID(&IID_ISVGElement, riid))
*ppv = &This->ISVGElement_iface;
else
return HTMLElement_QI(&This->element.node, riid, ppv);
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例5: HTMLLinkElement_QI
static HRESULT HTMLLinkElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLLinkElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IHTMLLinkElement, riid)) {
TRACE("(%p)->(IID_IHTMLLinkElement %p)\n", This, ppv);
*ppv = &This->IHTMLLinkElement_iface;
}else {
return HTMLElement_QI(&This->element.node, riid, ppv);
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例6: HTMLFrameBase_QI
HRESULT HTMLFrameBase_QI(HTMLFrameBase *This, REFIID riid, void **ppv)
{
if(IsEqualGUID(&IID_IHTMLFrameBase, riid)) {
TRACE("(%p)->(IID_IHTMLFrameBase %p)\n", This, ppv);
*ppv = &This->IHTMLFrameBase_iface;
}else if(IsEqualGUID(&IID_IHTMLFrameBase2, riid)) {
TRACE("(%p)->(IID_IHTMLFrameBase2 %p)\n", This, ppv);
*ppv = &This->IHTMLFrameBase2_iface;
}else {
return HTMLElement_QI(&This->element.node, riid, ppv);
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例7: HTMLCommentElement_QI
HRESULT HTMLCommentElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLCommentElement *This = HTMLCOMMENT_NODE_THIS(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IHTMLCommentElement, riid)) {
TRACE("(%p)->(IID_IHTMLCommentElement %p)\n", This, ppv);
*ppv = HTMLCOMMENT(This);
}else {
return HTMLElement_QI(&This->element.node, riid, ppv);
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例8: HTMLObjectElement_QI
static HRESULT HTMLObjectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
}else if(IsEqualGUID(&IID_IHTMLObjectElement, riid)) {
TRACE("(%p)->(IID_IHTMLObjectElement %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
}else if(IsEqualGUID(&IID_IHTMLObjectElement2, riid)) {
TRACE("(%p)->(IID_IHTMLObjectElement2 %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement2_iface;
}else if(IsEqualGUID(&IID_HTMLPluginContainer, riid)) {
TRACE("(%p)->(IID_HTMLPluginContainer %p)\n", This, ppv);
*ppv = &This->plugin_container;
return S_OK;
}else {
HRESULT hres;
hres = HTMLElement_QI(&This->plugin_container.element.node, riid, ppv);
if(hres == E_NOINTERFACE && This->plugin_container.plugin_host && This->plugin_container.plugin_host->plugin_unk) {
IUnknown *plugin_iface, *ret;
hres = IUnknown_QueryInterface(This->plugin_container.plugin_host->plugin_unk, riid, (void**)&plugin_iface);
if(hres == S_OK) {
hres = wrap_iface(plugin_iface, (IUnknown*)&This->IHTMLObjectElement_iface, &ret);
IUnknown_Release(plugin_iface);
if(FAILED(hres))
return hres;
TRACE("returning plugin iface %p wrapped to %p\n", plugin_iface, ret);
*ppv = ret;
return S_OK;
}
}
return hres;
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例9: HTMLEmbedElement_QI
static HRESULT HTMLEmbedElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLEmbedElement *This = HTMLEMBED_NODE_THIS(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = HTMLEMBED(This);
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = HTMLEMBED(This);
}else if(IsEqualGUID(&IID_IHTMLEmbedElement, riid)) {
TRACE("(%p)->(IID_IHTMLEmbedElement %p)\n", This, ppv);
*ppv = HTMLEMBED(This);
}else {
return HTMLElement_QI(&This->element.node, riid, ppv);
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
示例10: HTMLTableRow_QI
static HRESULT HTMLTableRow_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLTableRow *This = HTMLTABLEROW_NODE_THIS(iface);
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = HTMLTABLEROW(This);
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = HTMLTABLEROW(This);
}else if(IsEqualGUID(&IID_IHTMLTableRow, riid)) {
TRACE("(%p)->(IID_IHTMLTableRow %p)\n", This, ppv);
*ppv = HTMLTABLEROW(This);
}
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
return HTMLElement_QI(&This->element.node, riid, ppv);
}
示例11: HTMLObjectElement_QI
static HRESULT HTMLObjectElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
{
HTMLObjectElement *This = impl_from_HTMLDOMNode(iface);
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
} else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
} else if(IsEqualGUID(&IID_IHTMLObjectElement, riid)) {
TRACE("(%p)->(IID_IHTMLObjectElement %p)\n", This, ppv);
*ppv = &This->IHTMLObjectElement_iface;
} else if(IsEqualGUID(&IID_HTMLPluginContainer, riid)) {
TRACE("(%p)->(IID_HTMLPluginContainer %p)\n", This, ppv);
*ppv = &This->plugin_container;
return S_OK;
} else {
return HTMLElement_QI(&This->plugin_container.element.node, riid, ppv);
}
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}