ole32: Respond to CLSID in pointer moniker interface query.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Nikolay Sivov 2020-01-31 13:37:35 +03:00 committed by Alexandre Julliard
parent 8f34b9e834
commit a7ca351859
2 changed files with 4 additions and 8 deletions

View File

@ -74,7 +74,8 @@ static HRESULT WINAPI PointerMonikerImpl_QueryInterface(IMoniker *iface, REFIID
if (IsEqualIID(&IID_IUnknown, riid) ||
IsEqualIID(&IID_IPersist, riid) ||
IsEqualIID(&IID_IPersistStream, riid) ||
IsEqualIID(&IID_IMoniker, riid))
IsEqualIID(&IID_IMoniker, riid) ||
IsEqualGUID(&CLSID_PointerMoniker, riid))
{
*ppvObject = iface;
}

View File

@ -2886,13 +2886,8 @@ static void test_pointer_moniker(void)
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
hr = IMoniker_QueryInterface(moniker, &CLSID_PointerMoniker, (void **)&unknown);
todo_wine
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
if (SUCCEEDED(hr))
{
ok(unknown == (IUnknown *)moniker, "Unexpected interface.\n");
IUnknown_Release(unknown);
}
ok(unknown == (IUnknown *)moniker, "Unexpected interface.\n");
IUnknown_Release(unknown);
hr = IMoniker_QueryInterface(moniker, &IID_IMarshal, (void **)&marshal);
ok(hr == S_OK, "Failed to get interface, hr %#x.\n", hr);