static ULONG WINAPI IDirectMusicScriptTrack_IUnknown_Release (LPUNKNOWN iface) { ICOM_THIS_MULTI(IDirectMusicScriptTrack, UnknownVtbl, iface); ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p): ReleaseRef to %d\n", This, ref); if (ref == 0) { HeapFree(GetProcessHeap(), 0, This); } DMSCRIPT_UnlockModule(); return ref; }
static ULONG WINAPI IDirectMusicScriptImpl_Release(IDirectMusicScript *iface) { IDirectMusicScriptImpl *This = impl_from_IDirectMusicScript(iface); LONG ref = InterlockedDecrement(&This->ref); TRACE("(%p) ref=%d\n", This, ref); if (!ref) { HeapFree(GetProcessHeap(), 0, This->pHeader); HeapFree(GetProcessHeap(), 0, This->pVersion); HeapFree(GetProcessHeap(), 0, This->pwzLanguage); HeapFree(GetProcessHeap(), 0, This->pwzSource); HeapFree(GetProcessHeap(), 0, This->pDesc); HeapFree(GetProcessHeap(), 0, This); DMSCRIPT_UnlockModule(); } return ref; }