2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: COM interface test for ieframe classes
5 * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
8 #include "com_apitest.h"
13 static const CLASS_AND_INTERFACES ExpectedInterfaces
[] =
16 ID_NAME(CLSID_Internet
),
18 { -0x14, &IID_IShellFolder2
},
19 { -0x14, &IID_IShellFolder
},
20 { -0x10, &IID_IPersistFolder2
},
21 { -0x10, &IID_IPersistFolder
},
22 { -0x10, &IID_IPersist
},
23 { -0xc, &IID_IBrowserFrameOptions
},
24 { 0x0, &IID_IContextMenu
},
25 { 0x0, &IID_IUnknown
},
26 { 0x4, &IID_IShellExtInit
},
30 ID_NAME(CLSID_CUrlHistory
),
32 { 0x0, &IID_IUnknown
},
36 ID_NAME(CLSID_CURLSearchHook
),
38 { 0x0, &IID_IURLSearchHook2
},
39 { 0x0, &IID_IURLSearchHook
},
40 { 0x0, &IID_IUnknown
},
44 ID_NAME(CLSID_InternetShortcut
),
46 { -0xc, &IID_IDataObject
},
47 { -0x8, &IID_IContextMenu2
},
48 { -0x8, &IID_IContextMenu
},
49 { -0x4, &IID_IExtractIconA
},
50 { 0x0, &IID_IExtractIconW
},
51 { 0x0, &IID_IUnknown
},
52 { 0x4, &IID_IPersistFile
},
53 { 0x4, &IID_IPersist
},
54 { 0x8, &IID_IPersistStream
},
55 { 0xc, &IID_IShellExtInit
},
56 { 0x10, &IID_IShellLinkA
},
57 { 0x14, &IID_IShellLinkW
},
58 { 0x18, &IID_IShellPropSheetExt
},
59 { 0x20, &IID_INewShortcutHookA
},
60 { 0x24, &IID_INewShortcutHookW
},
61 { 0x30, &IID_IQueryInfo
},
62 { 0x38, &IID_IObjectWithSite
},
63 { 0x44, &IID_IOleCommandTarget
},
64 { 0x48, &IID_IServiceProvider
},
68 ID_NAME(CLSID_ShellUIHelper
),
70 { 0x0, &IID_IUnknown
},
71 { 0xc, &IID_IObjectWithSite
},
72 { 0x10, &IID_IObjectSafety
},
73 { 0x14, &IID_IShellUIHelper2
},
74 { 0x14, &IID_IShellUIHelper
},
75 { 0x14, &IID_IDispatch
},
79 ID_NAME(CLSID_ShellNameSpace
),
81 { 0x0, &IID_IShellNameSpace
},
82 { 0x0, &IID_IShellFavoritesNameSpace
},
83 { 0x0, &IID_IDispatch
},
84 { 0x0, &IID_IUnknown
},
85 { 0x8, &IID_IPersistStreamInit
},
86 { 0x10, &IID_IPersistPropertyBag
},
87 { 0x1c, &IID_IOleObject
},
88 { 0x20, &IID_IOleInPlaceActiveObject
},
89 { 0x24, &IID_IViewObjectEx
},
90 { 0x24, &IID_IViewObject2
},
91 { 0x24, &IID_IViewObject
},
92 { 0x28, &IID_IOleInPlaceObjectWindowless
},
93 { 0x28, &IID_IOleInPlaceObject
},
94 { 0x28, &IID_IOleWindow
},
95 { 0x3c, &IID_IDropTarget
},
96 { 0xb4, &IID_IObjectWithSite
},
97 { 0xbc, &IID_INSCTree
},
98 { 0xc4, &IID_IShellBrowser
},
99 { 0xc8, &IID_IFolderFilterSite
},
100 { 0xd0, &IID_IServiceProvider
},
101 { 0xd4, &IID_INameSpaceTreeControl
},
102 { 0xe4, &IID_IWinEventHandler
},
106 ID_NAME(CLSID_ShellWindows
),
108 { -0xa0, &IID_IMarshal2
},
109 { -0xa0, &IID_IMarshal
},
110 { -0x20, &IID_IClientSecurity
},
111 { -0x18, &IID_IRpcOptions
},
112 { -0xc, &IID_ICallFactory
},
113 { -0x8, &IID_IForegroundTransfer
},
114 { 0x0, &IID_IMultiQI
},
115 { 0x0, &IID_IUnknown
},
116 { FARAWY
, &IID_IShellWindows
},
117 { FARAWY
, &IID_IDispatch
},
121 ID_NAME(CLSID_WebBrowser
),
123 { -0x20, &IID_IPersist
},
124 { -0x1c, &IID_IOleObject
},
125 { -0x18, &IID_IViewObject2
},
126 { -0x18, &IID_IViewObject
},
127 { -0x14, &IID_IDataObject
},
128 { -0x10, &IID_IOleInPlaceObject
},
129 { -0x10, &IID_IOleWindow
},
130 { -0xc, &IID_IOleInPlaceActiveObject
},
131 { 0x0, &IID_IUnknown
},
132 { 0x98, &IID_IPersistStream
},
133 { 0x98, &IID_IPersistStreamInit
},
134 { 0x9c, &IID_IPersistPropertyBag
},
135 { 0x120, &IID_IWebBrowser2
},
136 { 0x120, &IID_IWebBrowserApp
},
137 { 0x120, &IID_IWebBrowser
},
138 { 0x120, &IID_IDispatch
},
139 { 0x130, &IID_IOleCommandTarget
},
140 { 0x134, &IID_IObjectSafety
},
141 { 0x140, &IID_IPersistStorage
},
142 { 0x144, &IID_IPersistHistory
},
143 { FARAWY
, &IID_IShellService
},
144 { FARAWY
, &IID_IServiceProvider
},
148 ID_NAME(CLSID_WebBrowser_V1
),
150 { -0x20, &IID_IPersist
},
151 { -0x1c, &IID_IOleObject
},
152 { -0x18, &IID_IViewObject2
},
153 { -0x18, &IID_IViewObject
},
154 { -0x14, &IID_IDataObject
},
155 { -0x10, &IID_IOleInPlaceObject
},
156 { -0x10, &IID_IOleWindow
},
157 { -0xc, &IID_IOleInPlaceActiveObject
},
158 { 0x0, &IID_IUnknown
},
159 { 0x98, &IID_IPersistStream
},
160 { 0x98, &IID_IPersistStreamInit
},
161 { 0x9c, &IID_IPersistPropertyBag
},
162 { 0x120, &IID_IWebBrowser2
},
163 { 0x120, &IID_IWebBrowserApp
},
164 { 0x120, &IID_IWebBrowser
},
165 { 0x120, &IID_IDispatch
},
166 { 0x130, &IID_IOleCommandTarget
},
167 { 0x134, &IID_IObjectSafety
},
168 { 0x140, &IID_IPersistStorage
},
169 { 0x144, &IID_IPersistHistory
},
170 { FARAWY
, &IID_IShellService
},
171 { FARAWY
, &IID_IServiceProvider
},
175 static const INT ExpectedInterfaceCount
= RTL_NUMBER_OF(ExpectedInterfaces
);
179 TestClasses(L
"ieframe", ExpectedInterfaces
, ExpectedInterfaceCount
);