/* * PROJECT: ReactOS api tests * LICENSE: GPLv2+ - See COPYING in the top level directory * PURPOSE: COM interface test for ieframe classes * PROGRAMMER: Thomas Faber */ #include "com_apitest.h" #define NDEBUG #include 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), { { -0x18, &IID_IObjectWithBackReferences }, { -0x14, &IID_IShellFolder2 }, { -0x14, &IID_IShellFolder }, { -0x10, &IID_IPersistFolder2 }, { -0x10, &IID_IPersistFolder }, { -0x10, &IID_IPersist }, { -0xc, &IID_IBrowserFrameOptions }, { 0x0, &IID_IContextMenu }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IShellExtInit }, } }, { ID_NAME(CLSID_CUrlHistory), { { 0x0, &IID_IUrlHistoryStg2 }, { 0x0, &IID_IUrlHistoryStg }, { 0x0, &IID_IUnknown }, } }, { ID_NAME(CLSID_CURLSearchHook), { { 0x0, &IID_IURLSearchHook2 }, { 0x0, &IID_IURLSearchHook }, { 0x0, &IID_IUnknown }, } }, { ID_NAME(CLSID_InternetShortcut), { { -0xc, &IID_IDataObject }, { -0x8, &IID_IContextMenu2 }, { -0x8, &IID_IContextMenu }, { -0x4, &IID_IExtractIconA }, { 0x0, &IID_IExtractIconW }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IPersistFile }, { 0x4, &IID_IPersist }, { 0x8, &IID_IPersistStream }, { 0xc, &IID_IShellExtInit }, { 0x10, &IID_IShellLinkA }, { 0x14, &IID_IShellLinkW }, { 0x18, &IID_IShellPropSheetExt }, { 0x1c, &IID_IPropertySetStorage }, { 0x20, &IID_INewShortcutHookA }, { 0x24, &IID_INewShortcutHookW }, { 0x30, &IID_IQueryInfo }, { 0x38, &IID_IObjectWithSite }, { 0x44, &IID_IOleCommandTarget }, { 0x48, &IID_IServiceProvider }, { 0x4c, &IID_IPropertyStore }, { 0x50, &IID_IInitializeWithFile }, { 0x54, &IID_IInitializeWithBindCtx }, } }, { ID_NAME(CLSID_ShellUIHelper), { { 0x0, &IID_IUnknown }, { 0xc, &IID_IObjectWithSite }, { 0x10, &IID_IObjectSafety }, { 0x14, &IID_IShellUIHelper2 }, { 0x14, &IID_IShellUIHelper }, { 0x14, &IID_IDispatch }, { 0x18, &IID_IDispatchEx }, } }, { ID_NAME(CLSID_ShellNameSpace), { { 0x0, &IID_IShellNameSpace }, { 0x0, &IID_IShellFavoritesNameSpace }, { 0x0, &IID_IDispatch }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IProvideClassInfo2 }, { 0x4, &IID_IProvideClassInfo }, { 0x8, &IID_IPersistStreamInit }, { 0x10, &IID_IPersistPropertyBag }, { 0x14, &IID_IQuickActivate }, { 0x18, &IID_IOleControl }, { 0x1c, &IID_IOleObject }, { 0x20, &IID_IOleInPlaceActiveObject }, { 0x24, &IID_IViewObjectEx }, { 0x24, &IID_IViewObject2 }, { 0x24, &IID_IViewObject }, { 0x28, &IID_IOleInPlaceObjectWindowless }, { 0x28, &IID_IOleInPlaceObject }, { 0x28, &IID_IOleWindow }, { 0x38, &IID_IConnectionPointContainer }, { 0x3c, &IID_IDropTarget }, { 0xb4, &IID_IObjectWithSite }, { 0xbc, &IID_INSCTree }, { 0xc4, &IID_IShellBrowser }, { 0xc8, &IID_IFolderFilterSite }, { 0xcc, &IID_INewMenuClient }, { 0xd0, &IID_IServiceProvider }, { 0xd4, &IID_INameSpaceTreeControl }, { 0xe0, &IID_IVisualProperties }, { 0xe4, &IID_IWinEventHandler }, } }, { ID_NAME(CLSID_ShellWindows), { { -0xa0, &IID_IMarshal2 }, { -0xa0, &IID_IMarshal }, { -0x20, &IID_IClientSecurity }, { -0x18, &IID_IRpcOptions }, { -0xc, &IID_ICallFactory }, { -0x8, &IID_IForegroundTransfer }, { 0x0, &IID_IMultiQI }, { 0x0, &IID_IUnknown }, { FARAWY, &IID_IShellWindows }, { FARAWY, &IID_IDispatch }, { FARAWY, &IID_IConnectionPointContainer }, } }, { ID_NAME(CLSID_WebBrowser), { { -0x20, &IID_IPersist }, { -0x1c, &IID_IOleObject }, { -0x18, &IID_IViewObject2 }, { -0x18, &IID_IViewObject }, { -0x14, &IID_IDataObject }, { -0x10, &IID_IOleInPlaceObject }, { -0x10, &IID_IOleWindow }, { -0xc, &IID_IOleInPlaceActiveObject }, { 0x0, &IID_IUnknown }, { 0x98, &IID_IPersistStream }, { 0x98, &IID_IPersistStreamInit }, { 0x9c, &IID_IPersistPropertyBag }, { 0xa0, &IID_IOleControl }, { 0xa8, &IID_IProvideClassInfo2 }, { 0xa8, &IID_IProvideClassInfo }, { 0xac, &IID_IConnectionPointContainer }, { 0x120, &IID_IWebBrowser2 }, { 0x120, &IID_IWebBrowserApp }, { 0x120, &IID_IWebBrowser }, { 0x120, &IID_IDispatch }, { 0x130, &IID_IOleCommandTarget }, { 0x134, &IID_IObjectSafety }, { 0x13c, &IID_ITargetEmbedding }, { 0x140, &IID_IPersistStorage }, { 0x144, &IID_IPersistHistory }, { FARAWY, &IID_IShellService }, { FARAWY, &IID_IServiceProvider }, { FARAWY, &IID_IHlinkFrame }, { FARAWY, &IID_IUrlHistoryNotify }, { FARAWY, &IID_ITargetFrame2 }, { FARAWY, &IID_ITargetNotify }, { FARAWY, &IID_ITargetFramePriv2 }, { FARAWY, &IID_ITargetFramePriv }, { FARAWY, &IID_IEFrameAuto }, { FARAWY, &IID_IWebBrowserPriv }, { FARAWY, &IID_IWebBrowserPriv2 }, { FARAWY, &IID_ISecMgrCacheSeedTarget }, { FARAWY, &IID_ITargetFrame }, } }, { ID_NAME(CLSID_WebBrowser_V1), { { -0x20, &IID_IPersist }, { -0x1c, &IID_IOleObject }, { -0x18, &IID_IViewObject2 }, { -0x18, &IID_IViewObject }, { -0x14, &IID_IDataObject }, { -0x10, &IID_IOleInPlaceObject }, { -0x10, &IID_IOleWindow }, { -0xc, &IID_IOleInPlaceActiveObject }, { 0x0, &IID_IUnknown }, { 0x98, &IID_IPersistStream }, { 0x98, &IID_IPersistStreamInit }, { 0x9c, &IID_IPersistPropertyBag }, { 0xa0, &IID_IOleControl }, { 0xa8, &IID_IProvideClassInfo2 }, { 0xa8, &IID_IProvideClassInfo }, { 0xac, &IID_IConnectionPointContainer }, { 0x120, &IID_IWebBrowser2 }, { 0x120, &IID_IWebBrowserApp }, { 0x120, &IID_IWebBrowser }, { 0x120, &IID_IDispatch }, { 0x130, &IID_IOleCommandTarget }, { 0x134, &IID_IObjectSafety }, { 0x13c, &IID_ITargetEmbedding }, { 0x140, &IID_IPersistStorage }, { 0x144, &IID_IPersistHistory }, { FARAWY, &IID_IShellService }, { FARAWY, &IID_IServiceProvider }, { FARAWY, &IID_IHlinkFrame }, { FARAWY, &IID_IUrlHistoryNotify }, { FARAWY, &IID_ITargetFrame2 }, { FARAWY, &IID_ITargetNotify }, { FARAWY, &IID_ITargetFramePriv2 }, { FARAWY, &IID_ITargetFramePriv }, { FARAWY, &IID_IEFrameAuto }, { FARAWY, &IID_IWebBrowserPriv }, { FARAWY, &IID_IWebBrowserPriv2 }, { FARAWY, &IID_ISecMgrCacheSeedTarget }, { FARAWY, &IID_ITargetFrame }, } }, }; static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces); START_TEST(ieframe) { TestClasses(L"ieframe", ExpectedInterfaces, ExpectedInterfaceCount); }