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
Zebediah Figura 2019-06-04 17:54:27 -05:00 committed by Alexandre Julliard
parent 9f3e724161
commit 664789cefc
1 changed files with 4 additions and 0 deletions

View File

@ -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);
*ppobj = NULL;
if (outer_unk && !IsEqualGUID(riid, &IID_IUnknown))
return E_NOINTERFACE;
hres = This->pfnCreateInstance(outer_unk, (void **) &unk);
if (SUCCEEDED(hres))
{