diff --git a/dlls/ole32/datacache.c b/dlls/ole32/datacache.c index e93e867e86e..21f63d32ada 100644 --- a/dlls/ole32/datacache.c +++ b/dlls/ole32/datacache.c @@ -2464,7 +2464,7 @@ HRESULT WINAPI CreateDataCache( * IUnknown pointer can be returned to the outside. */ if ( pUnkOuter && !IsEqualIID(&IID_IUnknown, riid) ) - return CLASS_E_NOAGGREGATION; + return E_INVALIDARG; /* * Try to construct a new instance of the class. diff --git a/dlls/ole32/tests/ole2.c b/dlls/ole32/tests/ole2.c index d58105c6a8e..afff6baa5a6 100644 --- a/dlls/ole32/tests/ole2.c +++ b/dlls/ole32/tests/ole2.c @@ -1598,7 +1598,6 @@ static void test_data_cache(void) /* requested is not IUnknown */ hr = CreateDataCache(&unknown, &CLSID_NULL, &IID_IOleCache2, (void**)&pOleCache); -todo_wine ok(hr == E_INVALIDARG, "got 0x%08x\n", hr); hr = CreateDataCache(&unknown, &CLSID_NULL, &IID_IUnknown, (void**)&unk);