Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 252 of file compartmentmgr.c.
Referenced by Context_Constructor(), DocumentMgr_Constructor(), ThreadMgr_Constructor(), and ThreadMgr_GetGlobalCompartment().
{ CompartmentMgr *This; if (!ppOut) return E_POINTER; if (pUnkOuter && !IsEqualIID (riid, &IID_IUnknown)) return CLASS_E_NOAGGREGATION; This = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(CompartmentMgr)); if (This == NULL) return E_OUTOFMEMORY; This->CompartmentMgrVtbl = &CompartmentMgr_CompartmentMgrVtbl; This->pUnkOuter = pUnkOuter; list_init(&This->values); if (pUnkOuter) { TRACE("returning %p\n", This); *ppOut = (IUnknown*)This; return S_OK; } else { HRESULT hr; hr = IUnknown_QueryInterface((IUnknown*)This, riid, (LPVOID*)ppOut); if (FAILED(hr)) HeapFree(GetProcessHeap(),0,This); return hr; } }