/************************************************************************ * WBCF_LockServer (IClassFactory) */ static HRESULT WINAPI WBCF_LockServer(LPCLASSFACTORY iface, BOOL dolock) { TRACE("(%d)\n", dolock); if (dolock) SHDOCVW_LockModule(); else SHDOCVW_UnlockModule(); return S_OK; }
static HRESULT WINAPI InstanceObjectFactory_IClassFactory_LockServer(IClassFactory *iface, BOOL fLock) { TRACE("(iface=%p, fLock=%d) stub\n", iface, fLock); if (fLock) SHDOCVW_LockModule(); else SHDOCVW_UnlockModule(); return S_OK; }
static ULONG Unknown_Release(InternetShortcut *This) { ULONG count; TRACE("(%p)\n", This); count = InterlockedDecrement(&This->refCount); if (count == 0) { CoTaskMemFree(This->url); CoTaskMemFree(This->currentFile); heap_free(This); SHDOCVW_UnlockModule(); } return count; }
static ULONG WINAPI RegistryPropertyBag_IPropertyBag_Release(IPropertyBag *iface) { RegistryPropertyBag *This = ADJUST_THIS(RegistryPropertyBag, IPropertyBag, iface); ULONG cRef; TRACE("(iface=%p)\n", iface); cRef = InterlockedDecrement(&This->m_cRef); if (cRef == 0) { RegistryPropertyBag_Destroy(This); SHDOCVW_UnlockModule(); } return cRef; }
static ULONG WINAPI RegistryPropertyBag_IPropertyBag_Release(IPropertyBag *iface) { RegistryPropertyBag *This = impl_from_IPropertyBag(iface); ULONG cRef; TRACE("(iface=%p)\n", iface); cRef = InterlockedDecrement(&This->m_cRef); if (cRef == 0) { TRACE("Destroying This=%p)\n", This); RegCloseKey(This->m_hInitPropertyBagKey); heap_free(This); SHDOCVW_UnlockModule(); } return cRef; }
static ULONG WINAPI WebBrowser_Release(IWebBrowser2 *iface) { WebBrowser *This = WEBBROWSER_THIS(iface); LONG ref = InterlockedDecrement(&This->ref); TRACE("(%p) ref=%d\n", This, ref); if(!ref) { if(This->doc_host.document) IUnknown_Release(This->doc_host.document); DocHost_Release(&This->doc_host); WebBrowser_OleObject_Destroy(This); heap_free(This); SHDOCVW_UnlockModule(); } return ref; }
/************************************************************************ * WBCF_Release (IUnknown) */ static ULONG WINAPI WBCF_Release(LPCLASSFACTORY iface) { SHDOCVW_UnlockModule(); return 1; /* non-heap based object */ }