2008/9/7 Gerald Pfeifer <[EMAIL PROTECTED]>: > --- dlls/atl/registrar.c 7 May 2008 12:06:02 -0000 1.29 > +++ dlls/atl/registrar.c 7 Sep 2008 13:42:54 -0000 > @@ -661,7 +661,7 @@ static const IRegistrarVtbl RegistrarVtb > Registrar_ResourceUnregister, > }; > > -static HRESULT Registrar_create(const IUnknown *pUnkOuter, REFIID riid, void > **ppvObject) > +static HRESULT Registrar_create(REFIID riid, void **ppvObject) > { > Registrar *ret; > > @@ -711,7 +711,7 @@ static HRESULT WINAPI RegistrarCF_Create > REFIID riid, void **ppvObject) > { > TRACE("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppvObject); > - return Registrar_create(pUnkOuter, riid, ppvObject); > + return Registrar_create(riid, ppvObject); > }
A test needs to be added to see whether or not the Registrar class factory supports aggregation. If it does then a FIXME should be emitted. If not then an ERR may be emitted and CLASS_E_NOAGGREGATION returned. Just removing pUnkOuter isn't the right thing to do. -- Rob Shearman