void destroy_xmlnode(xmlnode *This) { if(This->node) { xmlnode_release(This->node); xmldoc_release(This->node->doc); } release_dispex(&This->dispex); }
static ULONG WINAPI xmlnodemap_Release( IXMLDOMNamedNodeMap *iface ) { xmlnodemap *This = impl_from_IXMLDOMNamedNodeMap( iface ); ULONG ref = InterlockedDecrement( &This->ref ); TRACE("(%p)->(%d)\n", This, ref); if ( ref == 0 ) { xmlnode_release( This->node ); xmldoc_release( This->node->doc ); if (This->enumvariant) IEnumVARIANT_Release(This->enumvariant); heap_free( This ); } return ref; }