本文整理汇总了C++中IHTMLDOMNode_Release函数的典型用法代码示例。如果您正苦于以下问题:C++ IHTMLDOMNode_Release函数的具体用法?C++ IHTMLDOMNode_Release怎么用?C++ IHTMLDOMNode_Release使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IHTMLDOMNode_Release函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HTMLSelectElement_add
static HRESULT WINAPI HTMLSelectElement_add(IHTMLSelectElement *iface, IHTMLElement *element,
VARIANT before)
{
HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface);
IHTMLDOMNode *node, *tmp;
HRESULT hres;
FIXME("(%p)->(%p %s): semi-stub\n", This, element, debugstr_variant(&before));
if(V_VT(&before) != VT_EMPTY) {
FIXME("unhandled before %s\n", debugstr_variant(&before));
return E_NOTIMPL;
}
hres = IHTMLElement_QueryInterface(element, &IID_IHTMLDOMNode, (void**)&node);
if(FAILED(hres))
return hres;
hres = IHTMLDOMNode_appendChild(&This->element.node.IHTMLDOMNode_iface, node, &tmp);
IHTMLDOMNode_Release(node);
if(SUCCEEDED(hres) && tmp)
IHTMLDOMNode_Release(tmp);
return hres;
}
示例2: HTMLTextAreaElement_get_form
static HRESULT WINAPI HTMLTextAreaElement_get_form(IHTMLTextAreaElement *iface, IHTMLFormElement **p)
{
HTMLTextAreaElement *This = impl_from_IHTMLTextAreaElement(iface);
nsIDOMHTMLFormElement *nsform;
nsIDOMNode *nsnode;
HTMLDOMNode *node;
nsresult nsres;
HRESULT hres;
TRACE("(%p)->(%p)\n", This, p);
nsres = nsIDOMHTMLTextAreaElement_GetForm(This->nstextarea, &nsform);
assert(nsres == NS_OK);
if(!nsform) {
*p = NULL;
return S_OK;
}
nsres = nsIDOMHTMLFormElement_QueryInterface(nsform, &IID_nsIDOMNode, (void**)&nsnode);
nsIDOMHTMLFormElement_Release(nsform);
assert(nsres == NS_OK);
hres = get_node(This->element.node.doc, nsnode, TRUE, &node);
nsIDOMNode_Release(nsnode);
if(FAILED(hres))
return hres;
hres = IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLFormElement, (void**)p);
IHTMLDOMNode_Release(&node->IHTMLDOMNode_iface);
return hres;
}
示例3: release_nodes
void release_nodes(HTMLDocumentNode *This)
{
HTMLDOMNode *iter, *next;
if(!This->nodes)
return;
for(iter = This->nodes; iter; iter = next) {
next = iter->next;
iter->doc = NULL;
if(&This->node != iter)
IHTMLDOMNode_Release(&iter->IHTMLDOMNode_iface);
}
}
示例4: IUnknown_QueryInterface
/*
* FIXME
* We should use better way for getting node object (like private interface)
* or avoid it at all.
*/
static HTMLDOMNode *get_node_obj(HTMLDocumentNode *This, IUnknown *iface)
{
HTMLDOMNode *iter = This->nodes;
IHTMLDOMNode *node;
IUnknown_QueryInterface(iface, &IID_IHTMLDOMNode, (void**)&node);
IHTMLDOMNode_Release(node);
while(iter) {
if(&iter->IHTMLDOMNode_iface == node)
return iter;
iter = iter->next;
}
FIXME("Not found %p\n", iface);
return NULL;
}
示例5: HTMLEventObj_Release
static ULONG WINAPI HTMLEventObj_Release(IHTMLEventObj *iface)
{
HTMLEventObj *This = impl_from_IHTMLEventObj(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
if(This->target)
IHTMLDOMNode_Release(&This->target->IHTMLDOMNode_iface);
if(This->nsevent)
nsIDOMEvent_Release(This->nsevent);
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例6: HTMLElement2_insertAdjacentElement
static HRESULT WINAPI HTMLElement2_insertAdjacentElement(IHTMLElement2 *iface, BSTR where,
IHTMLElement *insertedElement, IHTMLElement **inserted)
{
HTMLElement *This = impl_from_IHTMLElement2(iface);
HTMLDOMNode *ret_node;
HTMLElement *elem;
HRESULT hres;
TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(where), insertedElement, inserted);
elem = unsafe_impl_from_IHTMLElement(insertedElement);
if(!elem)
return E_INVALIDARG;
hres = insert_adjacent_node(This, where, elem->node.nsnode, &ret_node);
if(FAILED(hres))
return hres;
hres = IHTMLDOMNode_QueryInterface(&ret_node->IHTMLDOMNode_iface, &IID_IHTMLElement, (void**)inserted);
IHTMLDOMNode_Release(&ret_node->IHTMLDOMNode_iface);
return hres;
}
示例7: HTMLDOMNode2_Release
static ULONG WINAPI HTMLDOMNode2_Release(IHTMLDOMNode2 *iface)
{
HTMLDOMNode *This = impl_from_IHTMLDOMNode2(iface);
return IHTMLDOMNode_Release(&This->IHTMLDOMNode_iface);
}
示例8: HTMLTableRow_Release
static ULONG WINAPI HTMLTableRow_Release(IHTMLTableRow *iface)
{
HTMLTableRow *This = HTMLTABLEROW_THIS(iface);
return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
}
示例9: HTMLBodyElement_Release
static ULONG WINAPI HTMLBodyElement_Release(IHTMLBodyElement *iface)
{
HTMLBodyElement *This = impl_from_IHTMLBodyElement(iface);
return IHTMLDOMNode_Release(&This->textcont.element.node.IHTMLDOMNode_iface);
}
示例10: HTMLObjectElement_Release
static ULONG WINAPI HTMLObjectElement_Release(IHTMLObjectElement *iface)
{
HTMLObjectElement *This = HTMLOBJECT_THIS(iface);
return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
}
示例11: HTMLFrameBase_Release
static ULONG WINAPI HTMLFrameBase_Release(IHTMLFrameBase *iface)
{
HTMLFrameBase *This = impl_from_IHTMLFrameBase(iface);
return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
}
示例12: HTMLTableRow_Release
static ULONG WINAPI HTMLTableRow_Release(IHTMLTableRow *iface)
{
HTMLTableRow *This = impl_from_IHTMLTableRow(iface);
return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
}
示例13: HTMLFormElement_Release
static ULONG WINAPI HTMLFormElement_Release(IHTMLFormElement *iface)
{
HTMLFormElement *This = HTMLFORM_THIS(iface);
return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
}
示例14: InternetHostSecurityManager_Release
static ULONG WINAPI InternetHostSecurityManager_Release(IInternetHostSecurityManager *iface)
{
HTMLDocumentNode *This = impl_from_IInternetHostSecurityManager(iface);
return IHTMLDOMNode_Release(&This->node.IHTMLDOMNode_iface);
}
示例15: HTMLIFrameElement_Release
static ULONG WINAPI HTMLIFrameElement_Release(IHTMLIFrameElement *iface)
{
HTMLIFrame *This = impl_from_IHTMLIFrameElement(iface);
return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
}