diff --git a/rostests/apitests/com/CMakeLists.txt b/rostests/apitests/com/CMakeLists.txt index 1a29e20da36..9f6fd85d9fe 100644 --- a/rostests/apitests/com/CMakeLists.txt +++ b/rostests/apitests/com/CMakeLists.txt @@ -6,6 +6,7 @@ list(APPEND SOURCE ieframe.c netcfgx.c netshell.c + ole32.c shdocvw.c shell32.c com_apitest.c diff --git a/rostests/apitests/com/browseui.c b/rostests/apitests/com/browseui.c index a71cd8b81fa..a1c6aaf69e5 100644 --- a/rostests/apitests/com/browseui.c +++ b/rostests/apitests/com/browseui.c @@ -262,6 +262,27 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x38, &IID_IInputObjectSite }, } }, + { + ID_NAME(CLSID_SH_SearchBand), + { + { 0x0, &IID_IUnknown }, + { 0x74, &IID_IOleContainer }, + { 0x78, &IID_IOleInPlaceFrame }, + //{ 0x78, &IID_IOleInPlaceUIWindow }, + { 0x78, &IID_IOleWindow }, + { 0xb0, &IID_IDeskBand }, + { 0xb0, &IID_IDockingWindow }, + { 0xb4, &IID_IInputObject }, + { 0xb8, &IID_IObjectWithSite }, + { 0xbc, &IID_IContextMenu }, + { 0xc0, &IID_IServiceProvider }, + { 0xc8, &IID_ISearchBar }, + { 0xcc, &IID_IFileSearchBand }, + { 0xcc, &IID_IDispatch }, + { 0xd0, &IID_IBandNavigate }, + { 0xd8, &IID_IPersist }, + } + }, { ID_NAME(CLSID_SharedTaskScheduler), { diff --git a/rostests/apitests/com/com_apitest.c b/rostests/apitests/com/com_apitest.c index b34a760aaed..a93605d88af 100644 --- a/rostests/apitests/com/com_apitest.c +++ b/rostests/apitests/com/com_apitest.c @@ -75,6 +75,8 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_ICDBurnExt) }, { ID_NAME(IID_ICDBurnPriv) }, { ID_NAME(IID_ICallFactory), TRUE }, + { ID_NAME(IID_ICatInformation) }, + { ID_NAME(IID_ICatRegister) }, { ID_NAME(IID_IClassFactory) }, { ID_NAME(IID_IClassFactory2) }, { ID_NAME(IID_IClassFactory3), TRUE }, @@ -214,6 +216,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IObjectWithSite) }, { ID_NAME(IID_IOleClientSite) }, { ID_NAME(IID_IOleCommandTarget) }, + { ID_NAME(IID_IOleContainer) }, { ID_NAME(IID_IOleControl) }, { ID_NAME(IID_IOleControlSite) }, { ID_NAME(IID_IOleInPlaceActiveObject) }, @@ -267,6 +270,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_ISearchAssistantOC) }, { ID_NAME(IID_ISearchAssistantOC2) }, { ID_NAME(IID_ISearchAssistantOC3) }, + { ID_NAME(IID_ISearchBar) }, { ID_NAME(IID_ISearches) }, { ID_NAME(IID_ISecMgrCacheSeedTarget) }, { ID_NAME(IID_IServerSecurity), TRUE }, diff --git a/rostests/apitests/com/com_apitest.h b/rostests/apitests/com/com_apitest.h index d90d8bf14d3..d0d1bb6298d 100644 --- a/rostests/apitests/com/com_apitest.h +++ b/rostests/apitests/com/com_apitest.h @@ -81,7 +81,6 @@ DEFINE_GUID(CLSID_CopyToMenu, 0xC2FBB630, 0x2971, 0x11D1, 0xA1, 0x8 DEFINE_GUID(CLSID_CDBurn, 0xfbeb8a05, 0xbeee, 0x4442, 0x80, 0x4e, 0x40, 0x9d, 0x6c, 0x45, 0x15, 0xe9); DEFINE_GUID(CLSID_DeskMovr, 0x72267F6A, 0xA6F9, 0x11D0, 0xBC, 0x94, 0x00, 0xC0, 0x4F, 0xB6, 0x78, 0x63); DEFINE_GUID(CLSID_FadeTask, 0x7EB5FBE4, 0x2100, 0x49E6, 0x85, 0x93, 0x17, 0xE1, 0x30, 0x12, 0x2F, 0x91); -DEFINE_GUID(CLSID_FileSearchBand, 0xc4ee31f3, 0x4768, 0x11d2, 0xbe, 0x5c, 0x00, 0xa0, 0xc9, 0xa8, 0x3d, 0xa1); DEFINE_GUID(CLSID_FolderItem, 0xfef10fa2, 0x355e, 0x4e06, 0x93, 0x81, 0x9b, 0x24, 0xd7, 0xf7, 0xcc, 0x88); DEFINE_GUID(CLSID_FolderItemsFDF, 0x53c74826, 0xab99, 0x4d33, 0xac, 0xa4, 0x31, 0x17, 0xf5, 0x1d, 0x37, 0x88); DEFINE_GUID(CLSID_FolderViewHost, 0x20b1cb23, 0x6968, 0x4eb9, 0xb7, 0xd4, 0xa6, 0x6d, 0x00, 0xd0, 0x7c, 0xee); @@ -159,6 +158,7 @@ DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5, 0x6 DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad, 0xb7, 0x20, 0x23, 0x44, 0x91, 0x40, 0x1a); DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa, 0x1e, 0x5d, 0xcd, 0xb7, 0x67, 0x68, 0xb1); DEFINE_GUID(IID_ISLTracker, 0x7c9e512f, 0x41d7, 0x11d1, 0x8e, 0x2e, 0x00, 0xc0, 0x4f, 0xb9, 0x38, 0x6d); +DEFINE_GUID(IID_ISearchBar, 0xc66abac9, 0x96d0, 0x4940, 0xbf, 0xbc, 0x8f, 0x51, 0x9c, 0xee, 0xeb, 0x13); DEFINE_GUID(IID_ISecMgrCacheSeedTarget, 0xfc8afc62, 0xf788, 0x4b36, 0x88, 0x89, 0xfd, 0x07, 0x3f, 0xdd, 0x2f, 0xd9); DEFINE_GUID(IID_IShellApp, 0xa3e14960, 0x935f, 0x11d1, 0xb8, 0xb8, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82); DEFINE_GUID(IID_IShellDispatch3, 0x177160ca, 0xbb5a, 0x411c, 0x84, 0x1d, 0xbd, 0x38, 0xfa, 0xcd, 0xea, 0xa0); diff --git a/rostests/apitests/com/ieframe.c b/rostests/apitests/com/ieframe.c index ea25a0073c3..74c06675441 100644 --- a/rostests/apitests/com/ieframe.c +++ b/rostests/apitests/com/ieframe.c @@ -12,6 +12,25 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { + { + ID_NAME(CLSID_IE_SearchBand), + { + { -0x30, &IID_IObjectWithSite }, + { -0x28, &IID_IDeskBand }, + { -0x28, &IID_IDockingWindow }, + { -0x28, &IID_IOleWindow }, + { -0x24, &IID_IInputObject }, + { -0x20, &IID_IPersistStream }, + { -0x20, &IID_IPersist }, + { -0x1c, &IID_IOleCommandTarget }, + { -0x18, &IID_IServiceProvider }, + { 0x0, &IID_IContextMenu }, + { 0x0, &IID_IUnknown }, + { 0x8, &IID_IDispatch }, + { 0x10, &IID_IPersistPropertyBag }, + { 0x8c, &IID_IBandNavigate }, + } + }, { ID_NAME(CLSID_Internet), { diff --git a/rostests/apitests/com/ole32.c b/rostests/apitests/com/ole32.c new file mode 100644 index 00000000000..221d888db93 --- /dev/null +++ b/rostests/apitests/com/ole32.c @@ -0,0 +1,30 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: COM interface test for ole32 classes + * PROGRAMMER: Thomas Faber + */ + +#include "com_apitest.h" + +#define NDEBUG +#include + +static const CLASS_AND_INTERFACES ExpectedInterfaces[] = +{ + { + ID_NAME(CLSID_StdComponentCategoriesMgr), + { + { 0x0, &IID_IUnknown }, + { FARAWY, &IID_ICatRegister }, + { FARAWY, &IID_ICatInformation }, + }, + L"Both" + }, +}; +static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces); + +START_TEST(ole32) +{ + TestClasses(L"ole32", ExpectedInterfaces, ExpectedInterfaceCount); +} diff --git a/rostests/apitests/com/shdocvw.c b/rostests/apitests/com/shdocvw.c index 05806509fd9..44ecbb6c0ad 100644 --- a/rostests/apitests/com/shdocvw.c +++ b/rostests/apitests/com/shdocvw.c @@ -88,6 +88,45 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x0, &IID_IUnknown }, } }, + { + ID_NAME(CLSID_SH_FavBand), + { + { -0x30, &IID_IDeskBand }, + { -0x30, &IID_IDockingWindow }, + { -0x30, &IID_IOleWindow }, + { -0x2c, &IID_IObjectWithSite }, + { -0x24, &IID_IInputObject }, + { -0x20, &IID_IPersistStream }, + { -0x20, &IID_IPersist }, + { -0x1c, &IID_IOleCommandTarget }, + { -0x18, &IID_IServiceProvider }, + { 0x0, &IID_IContextMenu }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_IBandNavigate }, + { 0x8, &IID_IWinEventHandler }, + { 0xc, &IID_INamespaceProxy }, + } + }, + { + ID_NAME(CLSID_SH_HistBand), + { + { -0xb4, &IID_IDeskBand }, + { -0xb4, &IID_IDockingWindow }, + { -0xb4, &IID_IOleWindow }, + { -0xb0, &IID_IObjectWithSite }, + { -0xa8, &IID_IInputObject }, + { -0xa4, &IID_IPersistStream }, + { -0xa4, &IID_IPersist }, + { -0xa0, &IID_IOleCommandTarget }, + { -0x9c, &IID_IServiceProvider }, + { -0x84, &IID_IContextMenu }, + { -0x80, &IID_IBandNavigate }, + { -0x7c, &IID_IWinEventHandler }, + { -0x78, &IID_INamespaceProxy }, + { 0x0, &IID_IShellFolderSearchableCallback }, + { 0x0, &IID_IUnknown }, + } + }, { ID_NAME(CLSID_SearchAssistantOC), { @@ -114,6 +153,16 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x40, &IID_IObjectWithSite }, } }, + { + ID_NAME(CLSID_SearchBand), + { + { 0x0, &IID_IContextMenu }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_IShellExtInit }, + { 0x8, &IID_IPersistPropertyBag }, + { 0x8, &IID_IPersist }, + } + }, { ID_NAME(CLSID_ShellSearchAssistantOC), { diff --git a/rostests/apitests/com/testlist.c b/rostests/apitests/com/testlist.c index 71639d9da41..0311e254b67 100644 --- a/rostests/apitests/com/testlist.c +++ b/rostests/apitests/com/testlist.c @@ -8,6 +8,7 @@ extern void func_ieframe(void); extern void func_interfaces(void); extern void func_netcfgx(void); extern void func_netshell(void); +extern void func_ole32(void); extern void func_shdocvw(void); extern void func_shell32(void); @@ -18,6 +19,7 @@ const struct test winetest_testlist[] = { "interfaces", func_interfaces }, { "netcfgx", func_netcfgx }, { "netshell", func_netshell }, + { "ole32", func_ole32 }, { "shdocvw", func_shdocvw }, { "shell32", func_shell32 },