bits: Implemented BITS_IClassFactory_AddRef (11/27)

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


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

diff --git a/dlls/qmgr/factory.c b/dlls/qmgr/factory.c
index daaedce..2c41356 100644
--- a/dlls/qmgr/factory.c
+++ b/dlls/qmgr/factory.c
@@ -27,12 +27,26 @@
 #include "qmgr_private.h"
 #include "wine/debug.h"
 
-WINE_DEFAULT_DEBUG_CHANNEL(qmgr_svchost);
+WINE_DEFAULT_DEBUG_CHANNEL(qmgr);
 
 static ULONG WINAPI BITS_IClassFactory_AddRef(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 = InterlockedIncrement(&This->ref);
+    if (ref == 1)
+    {
+        InterlockedIncrement(&dll_ref);
+    }
+    return ref;
 }
 
 static HRESULT WINAPI BITS_IClassFactory_QueryInterface(
-- 
1.5.3.1




More information about the wine-patches mailing list