mstask: COM cleanup for the IClassFactory iface.

This commit is contained in:
Michael Stefaniuc 2011-01-24 00:09:40 +01:00 committed by Alexandre Julliard
parent 5fd62154f3
commit 30e90c9ace
2 changed files with 15 additions and 8 deletions

View File

@ -21,12 +21,23 @@
WINE_DEFAULT_DEBUG_CHANNEL(mstask);
struct ClassFactoryImpl
{
IClassFactory IClassFactory_iface;
LONG ref;
};
static inline ClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface)
{
return CONTAINING_RECORD(iface, ClassFactoryImpl, IClassFactory_iface);
}
static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface(
LPCLASSFACTORY iface,
REFIID riid,
LPVOID *ppvObj)
{
ClassFactoryImpl *This = (ClassFactoryImpl *)iface;
ClassFactoryImpl *This = impl_from_IClassFactory(iface);
TRACE("IID: %s\n",debugstr_guid(riid));
if (ppvObj == NULL)
@ -35,7 +46,7 @@ static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface(
if (IsEqualGUID(riid, &IID_IUnknown) ||
IsEqualGUID(riid, &IID_IClassFactory))
{
*ppvObj = &This->lpVtbl;
*ppvObj = &This->IClassFactory_iface;
IClassFactory_AddRef(iface);
return S_OK;
}
@ -105,4 +116,4 @@ static const IClassFactoryVtbl IClassFactory_Vtbl =
MSTASK_IClassFactory_LockServer
};
ClassFactoryImpl MSTASK_ClassFactory = { &IClassFactory_Vtbl };
ClassFactoryImpl MSTASK_ClassFactory = { { &IClassFactory_Vtbl } };

View File

@ -31,11 +31,7 @@
extern LONG dll_ref;
typedef struct
{
const IClassFactoryVtbl *lpVtbl;
LONG ref;
} ClassFactoryImpl;
typedef struct ClassFactoryImpl ClassFactoryImpl;
extern ClassFactoryImpl MSTASK_ClassFactory;
typedef struct