Added IClassFactory->CreateInstance aggregation checks.

This commit is contained in:
Joris Huizer 2004-10-18 21:21:19 +00:00 committed by Alexandre Julliard
parent f971902a81
commit 823c418d8e
4 changed files with 15 additions and 1 deletions

View File

@ -46,6 +46,9 @@ HRESULT AM_create(IUnknown *pUnkOuter, LPVOID *ppObj)
IAMMultiMediaStreamImpl* object;
FIXME("(%p,%p)\n", pUnkOuter, ppObj);
if( pUnkOuter )
return CLASS_E_NOAGGREGATION;
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IAMMultiMediaStreamImpl));

View File

@ -384,6 +384,9 @@ static HRESULT ITSS_create(IUnknown *pUnkOuter, LPVOID *ppObj)
{
ITStorageImpl *its;
if( pUnkOuter )
return CLASS_E_NOAGGREGATION;
its = HeapAlloc( GetProcessHeap(), 0, sizeof(ITStorageImpl) );
its->vtbl_IITStorage = &ITStorageImpl_Vtbl;
its->ref = 1;

View File

@ -293,7 +293,12 @@ static HRESULT GetClassMediaFile(IAsyncReader * pReader, LPCOLESTR pszFileName,
HRESULT AsyncReader_create(IUnknown * pUnkOuter, LPVOID * ppv)
{
AsyncReader * pAsyncRead = CoTaskMemAlloc(sizeof(AsyncReader));
AsyncReader *pAsyncRead;
if( pUnkOuter )
return CLASS_E_NOAGGREGATION;
pAsyncRead = CoTaskMemAlloc(sizeof(AsyncReader));
if (!pAsyncRead)
return E_OUTOFMEMORY;

View File

@ -2416,6 +2416,9 @@ HRESULT FILTERGRAPH_create(IUnknown *pUnkOuter, LPVOID *ppObj) {
TRACE("(%p,%p)\n", pUnkOuter, ppObj);
if( pUnkOuter )
return CLASS_E_NOAGGREGATION;
fimpl = (IFilterGraphImpl *) HeapAlloc(GetProcessHeap(), 0, sizeof(*fimpl));
fimpl->IGraphBuilder_vtbl = &IGraphBuilder_VTable;
fimpl->IMediaControl_vtbl = &IMediaControl_VTable;