diff --git a/dlls/shell32/tests/shlview.c b/dlls/shell32/tests/shlview.c index 76855067c02..f31d16e5e23 100644 --- a/dlls/shell32/tests/shlview.c +++ b/dlls/shell32/tests/shlview.c @@ -1476,6 +1476,35 @@ if (0) IShellFolder_Release(desktop); } +static void test_newmenu(void) +{ + IUnknown *unk, *unk2; + HRESULT hr; + + hr = CoCreateInstance(&CLSID_NewMenu, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk); +todo_wine + ok(hr == S_OK, "Failed to create NewMenu object, hr %#x.\n", hr); + if (hr != S_OK) + { + skip("NewMenu is not supported.\n"); + return; + } + + hr = IUnknown_QueryInterface(unk, &IID_IShellExtInit, (void **)&unk2); + ok(hr == S_OK, "Failed to get IShellExtInit, hr %#x.\n", hr); + IUnknown_Release(unk2); + + hr = IUnknown_QueryInterface(unk, &IID_IContextMenu3, (void **)&unk2); + ok(hr == S_OK, "Failed to get IContextMenu3, hr %#x.\n", hr); + IUnknown_Release(unk2); + + hr = IUnknown_QueryInterface(unk, &IID_IObjectWithSite, (void **)&unk2); + ok(hr == S_OK, "Failed to get IObjectWithSite, hr %#x.\n", hr); + IUnknown_Release(unk2); + + IUnknown_Release(unk); +} + START_TEST(shlview) { OleInitialize(NULL); @@ -1491,6 +1520,7 @@ START_TEST(shlview) test_IOleCommandTarget(); test_SHCreateShellFolderView(); test_SHCreateShellFolderViewEx(); + test_newmenu(); OleUninitialize(); } diff --git a/include/shlguid.h b/include/shlguid.h index 028cb61f28e..687bbec79e9 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -146,6 +146,7 @@ DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x00, DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4); DEFINE_GUID(CLSID_ShellItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1, 0xf4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e); +DEFINE_GUID(CLSID_NewMenu, 0xd969a300, 0xe7ff, 0x11d0, 0xa9, 0x3b, 0x0, 0xa0, 0xc9, 0xf, 0x27, 0x19); #define PSGUID_SHELLDETAILS {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0} DEFINE_GUID(FMTID_ShellDetails, 0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);