本文整理汇总了C++中release_dispex函数的典型用法代码示例。如果您正苦于以下问题:C++ release_dispex函数的具体用法?C++ release_dispex怎么用?C++ release_dispex使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了release_dispex函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: release_dispex
void release_dispex(DispatchEx *This)
{
dynamic_prop_t *prop;
if(!This->dynamic_data)
return;
for(prop = This->dynamic_data->props; prop < This->dynamic_data->props + This->dynamic_data->prop_cnt; prop++) {
VariantClear(&prop->var);
heap_free(prop->name);
}
heap_free(This->dynamic_data->props);
if(This->dynamic_data->func_disps) {
unsigned i;
for(i=0; i < This->data->data->func_disp_cnt; i++) {
if(This->dynamic_data->func_disps[i]) {
release_dispex(&This->dynamic_data->func_disps[i]->dispex);
heap_free(This->dynamic_data->func_disps[i]);
}
}
heap_free(This->dynamic_data->func_disps);
}
heap_free(This->dynamic_data);
}
示例2: destroy_xmlnode
void destroy_xmlnode(xmlnode *This)
{
if(This->node)
{
xmlnode_release(This->node);
xmldoc_release(This->node->doc);
}
release_dispex(&This->dispex);
}
示例3: HTMLDOMNode_delete_cycle_collectable
static void NSAPI HTMLDOMNode_delete_cycle_collectable(void *p)
{
HTMLDOMNode *This = impl_from_IHTMLDOMNode(p);
TRACE("(%p)\n", This);
if(This->vtbl->unlink)
This->vtbl->unlink(This);
This->vtbl->destructor(This);
release_dispex(&This->event_target.dispex);
heap_free(This);
}
示例4: HTMLScreen_Release
static ULONG WINAPI HTMLScreen_Release(IHTMLScreen *iface)
{
HTMLScreen *This = impl_from_IHTMLScreen(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例5: OmHistory_Release
static ULONG WINAPI OmHistory_Release(IOmHistory *iface)
{
OmHistory *This = impl_from_IOmHistory(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例6: dimimpl_Release
static ULONG WINAPI dimimpl_Release(
IXMLDOMImplementation *iface )
{
domimpl *This = impl_from_IXMLDOMImplementation( iface );
ULONG ref = InterlockedDecrement( &This->ref );
TRACE("(%p)->(%d)\n", This, ref);
if ( ref == 0 )
{
release_dispex(&This->dispex);
heap_free( This );
}
return ref;
}
示例7: HTMLDOMNode_Release
static ULONG WINAPI HTMLDOMNode_Release(IHTMLDOMNode *iface)
{
HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
This->vtbl->destructor(This);
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例8: xsltemplate_Release
static ULONG WINAPI xsltemplate_Release( IXSLTemplate *iface )
{
xsltemplate *This = impl_from_IXSLTemplate( iface );
ULONG ref = InterlockedDecrement( &This->ref );
TRACE("(%p)->(%d)\n", This, ref);
if ( ref == 0 )
{
if (This->node) IXMLDOMNode_Release( This->node );
release_dispex(&This->dispex);
heap_free( This );
}
return ref;
}
示例9: HTMLDOMNode_Release
static ULONG WINAPI HTMLDOMNode_Release(IHTMLDOMNode *iface)
{
HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
LONG ref = ccref_decr(&This->ccref, (nsISupports*)&This->IHTMLDOMNode_iface);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
This->vtbl->destructor(This);
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例10: Function_Release
static ULONG WINAPI Function_Release(IUnknown *iface)
{
func_disp_t *This = impl_from_IUnknown(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
assert(!This->obj);
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例11: HTMLMimeTypesCollection_Release
static ULONG WINAPI HTMLMimeTypesCollection_Release(IHTMLMimeTypesCollection *iface)
{
HTMLMimeTypesCollection *This = impl_from_IHTMLMimeTypesCollection(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
if(This->navigator)
This->navigator->mime_types = NULL;
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例12: HTMLCurrentStyle_Release
static ULONG WINAPI HTMLCurrentStyle_Release(IHTMLCurrentStyle *iface)
{
HTMLCurrentStyle *This = HTMLCURSTYLE_THIS(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
if(This->nsstyle)
nsIDOMCSSStyleDeclaration_Release(This->nsstyle);
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}
示例13: HTMLDOMAttribute_Release
static ULONG WINAPI HTMLDOMAttribute_Release(IHTMLDOMAttribute *iface)
{
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
assert(!This->elem);
release_dispex(&This->dispex);
heap_free(This->name);
heap_free(This);
}
return ref;
}
示例14: HTMLStyleSheetRulesCollection_Release
static ULONG WINAPI HTMLStyleSheetRulesCollection_Release(IHTMLStyleSheetRulesCollection *iface)
{
HTMLStyleSheetRulesCollection *This = impl_from_IHTMLStyleSheetRulesCollection(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
release_dispex(&This->dispex);
if(This->nslist)
nsIDOMCSSRuleList_Release(This->nslist);
heap_free(This);
}
return ref;
}
示例15: HTMLLocation_Release
static ULONG WINAPI HTMLLocation_Release(IHTMLLocation *iface)
{
HTMLLocation *This = impl_from_IHTMLLocation(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
if(This->window)
This->window->location = NULL;
release_dispex(&This->dispex);
heap_free(This);
}
return ref;
}