forked from Mirrors/wine-wine
evr: Return E_NOINTERFACE when aggregation is requested with an interface other than IUnknown.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>stable
parent
9f3e724161
commit
664789cefc
|
@ -118,6 +118,10 @@ static HRESULT WINAPI classfactory_CreateInstance(IClassFactory *iface, IUnknown
|
||||||
TRACE("(%p)->(%p,%s,%p)\n", This, outer_unk, debugstr_guid(riid), ppobj);
|
TRACE("(%p)->(%p,%s,%p)\n", This, outer_unk, debugstr_guid(riid), ppobj);
|
||||||
|
|
||||||
*ppobj = NULL;
|
*ppobj = NULL;
|
||||||
|
|
||||||
|
if (outer_unk && !IsEqualGUID(riid, &IID_IUnknown))
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
|
||||||
hres = This->pfnCreateInstance(outer_unk, (void **) &unk);
|
hres = This->pfnCreateInstance(outer_unk, (void **) &unk);
|
||||||
if (SUCCEEDED(hres))
|
if (SUCCEEDED(hres))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue