shell32: Fix some tests failures on Win8.

This commit is contained in:
Nikolay Sivov 2013-06-01 13:38:51 +04:00 committed by Alexandre Julliard
parent 70a7c6d3d1
commit 7a5ca2d3d4
2 changed files with 44 additions and 25 deletions

View File

@ -1414,9 +1414,8 @@ static HRESULT WINAPI IShellBrowser_fnGetControlWindow(IShellBrowser *iface,
UINT id, HWND *phwnd)
{
ExplorerBrowserImpl *This = impl_from_IShellBrowser(iface);
TRACE("%p (%d, %p)\n", This, id, phwnd);
/* Not implemented. */
TRACE("(%p)->(%d, %p)\n", This, id, phwnd);
if (phwnd) *phwnd = NULL;
return E_NOTIMPL;
}

View File

@ -61,6 +61,14 @@ DEFINE_GUID(IID_UnknownInterface7, 0x68A4FDBA, 0xA48A, 0x4A86, 0xA3,0x29, 0x1
DEFINE_GUID(IID_UnknownInterface8, 0xD3B1CAF5, 0xEC4F, 0x4B2E, 0xBC,0xB0, 0x60,0xD7,0x15,0xC9,0x3C,0xB2);
DEFINE_GUID(IID_UnknownInterface9, 0x9536CA39, 0x1ACB, 0x4AE6, 0xAD,0x27, 0x24,0x03,0xD0,0x4C,0xA2,0x8F);
DEFINE_GUID(IID_UnknownInterface10, 0xB722BE00, 0x4E68, 0x101B, 0xA2,0xBC, 0x00,0xAA,0x00,0x40,0x47,0x70);
DEFINE_GUID(IID_UnknownInterface11, 0x691ecf9f, 0x6b9c, 0x4311, 0xa1,0x7b, 0xad,0x15,0x4c,0x30,0xe9,0x1f);
DEFINE_GUID(IID_UnknownInterface12, 0x7e3159f5, 0x21ca, 0x4ec2, 0x8f,0xbe, 0x66,0x2d,0x08,0x2c,0xa3,0xeb);
DEFINE_GUID(IID_UnknownInterface13, 0xa36a3ace, 0x8332, 0x45ce, 0xaa,0x29, 0x50,0x3c,0xb7,0x6b,0x25,0x87);
DEFINE_GUID(IID_UnknownInterface14, 0x16770868, 0x239c, 0x445b, 0xa0,0x1d, 0xf2,0x6c,0x7f,0xbb,0xf2,0x6c);
DEFINE_GUID(IID_UnknownInterface15, 0x05a89298, 0x6246, 0x4c63, 0xbb,0x0d, 0x9b,0xda,0xf1,0x40,0xbf,0x3b);
DEFINE_GUID(IID_UnknownInterface16, 0x35094a87, 0x8bb1, 0x4237, 0x96,0xc6, 0xc4,0x17,0xee,0xbd,0xb0,0x78);
DEFINE_GUID(IID_UnknownInterface17, 0xa36a3ace, 0x8332, 0x45ce, 0xaa,0x29, 0x50,0x3c,0xb7,0x6b,0x25,0x87);
DEFINE_GUID(IID_UnknownInterface18, 0x3d5d8c60, 0x21e4, 0x4b03, 0x83,0xb8, 0xc7,0x3f,0x8c,0x94,0x00,0x78);
static HWND hwnd;
@ -113,11 +121,19 @@ static void process_msgs(void)
}
}
static void dbg_print_guid(const GUID *guid) {
WCHAR buf[MAX_PATH];
static const char *debugstr_guid(REFIID riid)
{
static char buf[50];
StringFromGUID2(guid, buf, MAX_PATH);
printf("guid:[%s]\n", wine_dbgstr_wn(buf, lstrlenW(buf)));
if(!riid)
return "(null)";
sprintf(buf, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
riid->Data1, riid->Data2, riid->Data3, riid->Data4[0],
riid->Data4[1], riid->Data4[2], riid->Data4[3], riid->Data4[4],
riid->Data4[5], riid->Data4[6], riid->Data4[7]);
return buf;
}
/*********************************************************************
@ -215,8 +231,7 @@ static inline IExplorerPaneVisibilityImpl *impl_from_IExplorerPaneVisibility(IEx
static HRESULT WINAPI IExplorerPaneVisibility_fnQueryInterface(IExplorerPaneVisibility *iface,
REFIID riid, LPVOID *ppvObj)
{
ok(0, "Not called.\n");
trace("REFIID:"); dbg_print_guid(riid);
ok(0, "unexpected, %s\n", debugstr_guid(riid));
*ppvObj = NULL;
return E_NOINTERFACE;
}
@ -260,7 +275,7 @@ static HRESULT WINAPI IExplorerPaneVisibility_fnGetPaneState(IExplorerPaneVisibi
else if(IsEqualGUID(&EP_AdvQueryPane, ep)) This->aqp++;
else
{
trace("Unknown explorer pane: "); dbg_print_guid(ep);
trace("Unknown explorer pane: %s\n", debugstr_guid(ep));
This->unk++;
}
@ -305,8 +320,7 @@ static inline ICommDlgBrowser3Impl *impl_from_ICommDlgBrowser3(ICommDlgBrowser3
static HRESULT WINAPI ICommDlgBrowser3_fnQueryInterface(ICommDlgBrowser3 *iface, REFIID riid, LPVOID *ppvObj)
{
ok(0, "Not called.\n");
trace("riid:"); dbg_print_guid(riid);
ok(0, "unexpected %s\n", debugstr_guid(riid));
*ppvObj = NULL;
return E_NOINTERFACE;
}
@ -476,8 +490,7 @@ static HRESULT WINAPI IServiceProvider_fnQueryInterface(IServiceProvider *iface,
return E_NOINTERFACE;
}
ok(0, "Unexpected interface requested.\n");
trace("riid: "); dbg_print_guid(riid);
ok(0, "Unexpected interface requested, %s\n", debugstr_guid(riid));
return E_NOINTERFACE;
}
@ -521,12 +534,7 @@ static HRESULT WINAPI IServiceProvider_fnQueryService(IServiceProvider *iface,
}
}
ok(was_in_list, "-- Unknown service requested --\n");
if(!was_in_list)
{
trace("guidService: "); dbg_print_guid(guidService);
trace("riid: "); dbg_print_guid(riid);
}
ok(was_in_list, "unknown service, serviceID: %s, riid: %s\n", debugstr_guid(guidService), debugstr_guid(riid));
/* Give back an interface, if any. */
if(punk)
@ -617,22 +625,25 @@ static void test_SB_misc(void)
}
/* Some unimplemented methods */
retHwnd = (HWND)0xDEADBEEF;
retHwnd = (HWND)0xdeadbeef;
hr = IShellBrowser_GetControlWindow(psb, FCW_TOOLBAR, &retHwnd);
ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
ok(retHwnd == (HWND)0xDEADBEEF, "HWND overwritten\n");
ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
retHwnd = (HWND)0xdeadbeef;
hr = IShellBrowser_GetControlWindow(psb, FCW_STATUS, &retHwnd);
ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
ok(retHwnd == (HWND)0xDEADBEEF, "HWND overwritten\n");
ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
retHwnd = (HWND)0xdeadbeef;
hr = IShellBrowser_GetControlWindow(psb, FCW_TREE, &retHwnd);
ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
ok(retHwnd == (HWND)0xDEADBEEF, "HWND overwritten\n");
ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
retHwnd = (HWND)0xdeadbeef;
hr = IShellBrowser_GetControlWindow(psb, FCW_PROGRESS, &retHwnd);
ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
ok(retHwnd == (HWND)0xDEADBEEF, "HWND overwritten\n");
ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
/* ::InsertMenuSB */
hr = IShellBrowser_InsertMenusSB(psb, NULL, NULL);
@ -927,6 +938,15 @@ static void test_SetSite(void)
{ &IID_UnknownInterface4, &IID_IUnknown, 0, NULL },
{ &IID_UnknownInterface6, &IID_UnknownInterface7, 0, NULL },
{ &IID_IBrowserWithActivationNotification, &IID_IBrowserWithActivationNotification, 0, NULL },
/* Win 8 */
{ &IID_ICommDlgBrowser, &IID_UnknownInterface11, 0, NULL },
{ &IID_ICommDlgBrowser, &IID_UnknownInterface12, 0, NULL },
{ &IID_UnknownInterface13, &IID_IUnknown, 0, NULL },
{ &IID_UnknownInterface14, &IID_UnknownInterface14, 0, NULL },
{ &IID_UnknownInterface15, &IID_UnknownInterface15, 0, NULL },
{ &IID_UnknownInterface16, &IID_UnknownInterface16, 0, NULL },
{ &IID_UnknownInterface17, &IID_UnknownInterface17, 0, NULL },
{ &IID_UnknownInterface18, &IID_UnknownInterface18, 0, NULL },
/* Other services requested in Vista, Windows 2008 but not in Windows 7 */
{ &IID_IBrowserSettings_Vista, &IID_IBrowserSettings_Vista, 0, NULL },