bits: Added implementation of BITS_IClassFactory_QueryInterface (12/27)
Roy Shea
roy at cs.hmc.edu
Fri Nov 16 18:18:17 CST 2007
---
dlls/qmgr/Makefile.in | 2 +-
dlls/qmgr/factory.c | 20 ++++++++++++++++++--
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/qmgr/Makefile.in b/dlls/qmgr/Makefile.in
index 1886a0d..0eb37d7 100644
--- a/dlls/qmgr/Makefile.in
+++ b/dlls/qmgr/Makefile.in
@@ -4,7 +4,7 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = qmgr.dll
IMPORTS = kernel32 advapi32 ole32 user32
-EXTRALIBS =
+EXTRALIBS = -luuid
C_SRCS = \
factory.c \
diff --git a/dlls/qmgr/factory.c b/dlls/qmgr/factory.c
index 2c41356..2cf3da4 100644
--- a/dlls/qmgr/factory.c
+++ b/dlls/qmgr/factory.c
@@ -54,8 +54,24 @@ static HRESULT WINAPI BITS_IClassFactory_QueryInterface(
REFIID riid,
LPVOID *ppvObj)
{
- FIXME("Not implemented\n");
- return E_NOTIMPL;
+ ICOM_THIS_MULTI(ClassFactoryImpl, lpVtbl, iface);
+
+ TRACE("IID: %s\n",debugstr_guid(riid));
+
+ if (This == NULL || ppvObj == NULL)
+ {
+ return E_POINTER;
+ }
+
+ if (IsEqualGUID(riid, &IID_IUnknown) ||
+ IsEqualGUID(riid, &IID_IClassFactory))
+ {
+ *ppvObj = (LPVOID)iface;
+ BITS_IClassFactory_AddRef(iface);
+ return S_OK;
+ }
+
+ return E_NOINTERFACE;
}
static ULONG WINAPI BITS_IClassFactory_Release(LPCLASSFACTORY iface)
--
1.5.3.1
More information about the wine-patches
mailing list