diff --git a/dlls/shcore/main.c b/dlls/shcore/main.c index 32649cccd9c..dc782e8be08 100644 --- a/dlls/shcore/main.c +++ b/dlls/shcore/main.c @@ -555,7 +555,9 @@ static HRESULT WINAPI shstream_QueryInterface(IStream *iface, REFIID riid, void TRACE("(%p)->(%s, %p)\n", stream, debugstr_guid(riid), out); - if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IStream)) + if (IsEqualIID(riid, &IID_IUnknown) || + IsEqualIID(riid, &IID_IStream) || + IsEqualIID(riid, &IID_ISequentialStream)) { *out = iface; IStream_AddRef(iface); diff --git a/dlls/shlwapi/tests/istream.c b/dlls/shlwapi/tests/istream.c index 560a822e2c2..d3e7dbb8810 100644 --- a/dlls/shlwapi/tests/istream.c +++ b/dlls/shlwapi/tests/istream.c @@ -270,7 +270,6 @@ static void test_stream_qi(IStream *stream) unk = NULL; hr = IStream_QueryInterface(stream, &IID_ISequentialStream, (void **)&unk); -todo_wine ok(SUCCEEDED(hr) || broken(hr == E_NOINTERFACE) /* XP */, "Failed to get ISequentialStream interface, hr %#x.\n", hr); if (unk) IUnknown_Release(unk); @@ -753,7 +752,6 @@ static void test_SHCreateMemStream(void) ok(stream != NULL, "Failed to create a stream.\n"); hr = IStream_QueryInterface(stream, &IID_ISequentialStream, (void **)&unk); -todo_wine ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* WinXP */, "Failed to QI, hr %#x.\n", hr); if (unk) IUnknown_Release(unk);