quartz: Handle wrong COM aggregation attempts in IClassFactory_CreateInstance.
This commit is contained in:
parent
dc59a05bee
commit
ec9951892b
|
@ -124,10 +124,13 @@ static HRESULT WINAPI DSCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter
|
||||||
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
|
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
LPUNKNOWN punk;
|
LPUNKNOWN punk;
|
||||||
|
|
||||||
TRACE("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj);
|
TRACE("(%p)->(%p,%s,%p)\n",This,pOuter,debugstr_guid(riid),ppobj);
|
||||||
|
|
||||||
*ppobj = NULL;
|
*ppobj = NULL;
|
||||||
|
if(pOuter && !IsEqualGUID(&IID_IUnknown, riid))
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
|
||||||
hres = This->pfnCreateInstance(pOuter, (LPVOID *) &punk);
|
hres = This->pfnCreateInstance(pOuter, (LPVOID *) &punk);
|
||||||
if (SUCCEEDED(hres)) {
|
if (SUCCEEDED(hres)) {
|
||||||
hres = IUnknown_QueryInterface(punk, riid, ppobj);
|
hres = IUnknown_QueryInterface(punk, riid, ppobj);
|
||||||
|
|
Loading…
Reference in New Issue