bits: Implemented BITS_IClassFactory_Release (13/27)

Roy Shea roy at cs.hmc.edu
Fri Nov 16 18:18:28 CST 2007


---
 dlls/qmgr/factory.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/dlls/qmgr/factory.c b/dlls/qmgr/factory.c
index 2cf3da4..b8146e0 100644
--- a/dlls/qmgr/factory.c
+++ b/dlls/qmgr/factory.c
@@ -76,8 +76,23 @@ static HRESULT WINAPI BITS_IClassFactory_QueryInterface(
 
 static ULONG WINAPI BITS_IClassFactory_Release(LPCLASSFACTORY iface)
 {
-    FIXME("Not implemented\n");
-    return E_NOTIMPL;
+    ICOM_THIS_MULTI(ClassFactoryImpl, lpVtbl, iface);
+    ULONG ref;
+
+    TRACE("\n");
+
+    if (This == NULL)
+    {
+        return E_POINTER;
+    }
+
+    ref = InterlockedDecrement(&This->ref);
+    if (ref == 0)
+    {
+        HeapFree(GetProcessHeap(), 0, This);
+        InterlockedDecrement(&dll_ref);
+    }
+    return ref;
 }
 
 static HRESULT WINAPI BITS_IClassFactory_CreateInstance(
-- 
1.5.3.1




More information about the wine-patches mailing list