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_IE_SearchBand
),
18 { -0x30, &IID_IObjectWithSite
},
19 { -0x28, &IID_IDeskBand
},
20 { -0x28, &IID_IDockingWindow
},
21 { -0x28, &IID_IOleWindow
},
22 { -0x24, &IID_IInputObject
},
23 { -0x20, &IID_IPersistStream
},
24 { -0x20, &IID_IPersist
},
25 { -0x1c, &IID_IOleCommandTarget
},
26 { -0x18, &IID_IServiceProvider
},
27 { 0x0, &IID_IContextMenu
},
28 { 0x0, &IID_IUnknown
},
29 { 0x8, &IID_IDispatch
},
30 { 0x10, &IID_IPersistPropertyBag
},
31 { 0x8c, &IID_IBandNavigate
},
35 ID_NAME(CLSID_Internet
),
37 { -0x18, &IID_IObjectWithBackReferences
},
38 { -0x14, &IID_IShellFolder2
},
39 { -0x14, &IID_IShellFolder
},
40 { -0x10, &IID_IPersistFolder2
},
41 { -0x10, &IID_IPersistFolder
},
42 { -0x10, &IID_IPersist
},
43 { -0xc, &IID_IBrowserFrameOptions
},
44 { 0x0, &IID_IContextMenu
},
45 { 0x0, &IID_IUnknown
},
46 { 0x4, &IID_IShellExtInit
},
50 ID_NAME(CLSID_CUrlHistory
),
52 { 0x0, &IID_IUrlHistoryStg2
},
53 { 0x0, &IID_IUrlHistoryStg
},
54 { 0x0, &IID_IUnknown
},
58 ID_NAME(CLSID_CURLSearchHook
),
60 { 0x0, &IID_IURLSearchHook2
},
61 { 0x0, &IID_IURLSearchHook
},
62 { 0x0, &IID_IUnknown
},
66 ID_NAME(CLSID_InternetShortcut
),
68 { -0xc, &IID_IDataObject
},
69 { -0x8, &IID_IContextMenu2
},
70 { -0x8, &IID_IContextMenu
},
71 { -0x4, &IID_IExtractIconA
},
72 { 0x0, &IID_IExtractIconW
},
73 { 0x0, &IID_IUnknown
},
74 { 0x4, &IID_IPersistFile
},
75 { 0x4, &IID_IPersist
},
76 { 0x8, &IID_IPersistStream
},
77 { 0xc, &IID_IShellExtInit
},
78 { 0x10, &IID_IShellLinkA
},
79 { 0x14, &IID_IShellLinkW
},
80 { 0x18, &IID_IShellPropSheetExt
},
81 { 0x1c, &IID_IPropertySetStorage
},
82 { 0x20, &IID_INewShortcutHookA
},
83 { 0x24, &IID_INewShortcutHookW
},
84 { 0x30, &IID_IQueryInfo
},
85 { 0x38, &IID_IObjectWithSite
},
86 { 0x44, &IID_IOleCommandTarget
},
87 { 0x48, &IID_IServiceProvider
},
88 { 0x4c, &IID_IPropertyStore
},
89 { 0x50, &IID_IInitializeWithFile
},
90 { 0x54, &IID_IInitializeWithBindCtx
},
94 ID_NAME(CLSID_ShellUIHelper
),
96 { 0x0, &IID_IUnknown
},
97 { 0xc, &IID_IObjectWithSite
},
98 { 0x10, &IID_IObjectSafety
},
99 { 0x14, &IID_IShellUIHelper2
},
100 { 0x14, &IID_IShellUIHelper
},
101 { 0x14, &IID_IDispatch
},
102 { 0x18, &IID_IDispatchEx
},
106 ID_NAME(CLSID_ShellNameSpace
),
108 { 0x0, &IID_IShellNameSpace
},
109 { 0x0, &IID_IShellFavoritesNameSpace
},
110 { 0x0, &IID_IDispatch
},
111 { 0x0, &IID_IUnknown
},
112 { 0x4, &IID_IProvideClassInfo2
},
113 { 0x4, &IID_IProvideClassInfo
},
114 { 0x8, &IID_IPersistStreamInit
},
115 { 0x10, &IID_IPersistPropertyBag
},
116 { 0x14, &IID_IQuickActivate
},
117 { 0x18, &IID_IOleControl
},
118 { 0x1c, &IID_IOleObject
},
119 { 0x20, &IID_IOleInPlaceActiveObject
},
120 { 0x24, &IID_IViewObjectEx
},
121 { 0x24, &IID_IViewObject2
},
122 { 0x24, &IID_IViewObject
},
123 { 0x28, &IID_IOleInPlaceObjectWindowless
},
124 { 0x28, &IID_IOleInPlaceObject
},
125 { 0x28, &IID_IOleWindow
},
126 { 0x38, &IID_IConnectionPointContainer
},
127 { 0x3c, &IID_IDropTarget
},
128 { 0xb4, &IID_IObjectWithSite
},
129 { 0xbc, &IID_INSCTree
},
130 { 0xc4, &IID_IShellBrowser
},
131 { 0xc8, &IID_IFolderFilterSite
},
132 { 0xcc, &IID_INewMenuClient
},
133 { 0xd0, &IID_IServiceProvider
},
134 { 0xd4, &IID_INameSpaceTreeControl
},
135 { 0xe0, &IID_IVisualProperties
},
136 { 0xe4, &IID_IWinEventHandler
},
140 ID_NAME(CLSID_ShellWindows
),
142 { -0xa0, &IID_IMarshal2
},
143 { -0xa0, &IID_IMarshal
},
144 { -0x20, &IID_IClientSecurity
},
145 { -0x18, &IID_IRpcOptions
},
146 { -0xc, &IID_ICallFactory
},
147 { -0x8, &IID_IForegroundTransfer
},
148 { 0x0, &IID_IMultiQI
},
149 { 0x0, &IID_IUnknown
},
150 { FARAWY
, &IID_IShellWindows
},
151 { FARAWY
, &IID_IDispatch
},
152 { FARAWY
, &IID_IConnectionPointContainer
},
156 ID_NAME(CLSID_WebBrowser
),
158 { -0x20, &IID_IPersist
},
159 { -0x1c, &IID_IOleObject
},
160 { -0x18, &IID_IViewObject2
},
161 { -0x18, &IID_IViewObject
},
162 { -0x14, &IID_IDataObject
},
163 { -0x10, &IID_IOleInPlaceObject
},
164 { -0x10, &IID_IOleWindow
},
165 { -0xc, &IID_IOleInPlaceActiveObject
},
166 { 0x0, &IID_IUnknown
},
167 { 0x98, &IID_IPersistStream
},
168 { 0x98, &IID_IPersistStreamInit
},
169 { 0x9c, &IID_IPersistPropertyBag
},
170 { 0xa0, &IID_IOleControl
},
171 { 0xa8, &IID_IProvideClassInfo2
},
172 { 0xa8, &IID_IProvideClassInfo
},
173 { 0xac, &IID_IConnectionPointContainer
},
174 { 0x120, &IID_IWebBrowser2
},
175 { 0x120, &IID_IWebBrowserApp
},
176 { 0x120, &IID_IWebBrowser
},
177 { 0x120, &IID_IDispatch
},
178 { 0x130, &IID_IOleCommandTarget
},
179 { 0x134, &IID_IObjectSafety
},
180 { 0x13c, &IID_ITargetEmbedding
},
181 { 0x140, &IID_IPersistStorage
},
182 { 0x144, &IID_IPersistHistory
},
183 { FARAWY
, &IID_IShellService
},
184 { FARAWY
, &IID_IServiceProvider
},
185 { FARAWY
, &IID_IHlinkFrame
},
186 { FARAWY
, &IID_IUrlHistoryNotify
},
187 { FARAWY
, &IID_ITargetFrame2
},
188 { FARAWY
, &IID_ITargetNotify
},
189 { FARAWY
, &IID_ITargetFramePriv2
},
190 { FARAWY
, &IID_ITargetFramePriv
},
191 { FARAWY
, &IID_IEFrameAuto
},
192 { FARAWY
, &IID_IWebBrowserPriv
},
193 { FARAWY
, &IID_IWebBrowserPriv2
},
194 { FARAWY
, &IID_ISecMgrCacheSeedTarget
},
195 { FARAWY
, &IID_ITargetFrame
},
199 ID_NAME(CLSID_WebBrowser_V1
),
201 { -0x20, &IID_IPersist
},
202 { -0x1c, &IID_IOleObject
},
203 { -0x18, &IID_IViewObject2
},
204 { -0x18, &IID_IViewObject
},
205 { -0x14, &IID_IDataObject
},
206 { -0x10, &IID_IOleInPlaceObject
},
207 { -0x10, &IID_IOleWindow
},
208 { -0xc, &IID_IOleInPlaceActiveObject
},
209 { 0x0, &IID_IUnknown
},
210 { 0x98, &IID_IPersistStream
},
211 { 0x98, &IID_IPersistStreamInit
},
212 { 0x9c, &IID_IPersistPropertyBag
},
213 { 0xa0, &IID_IOleControl
},
214 { 0xa8, &IID_IProvideClassInfo2
},
215 { 0xa8, &IID_IProvideClassInfo
},
216 { 0xac, &IID_IConnectionPointContainer
},
217 { 0x120, &IID_IWebBrowser2
},
218 { 0x120, &IID_IWebBrowserApp
},
219 { 0x120, &IID_IWebBrowser
},
220 { 0x120, &IID_IDispatch
},
221 { 0x130, &IID_IOleCommandTarget
},
222 { 0x134, &IID_IObjectSafety
},
223 { 0x13c, &IID_ITargetEmbedding
},
224 { 0x140, &IID_IPersistStorage
},
225 { 0x144, &IID_IPersistHistory
},
226 { FARAWY
, &IID_IShellService
},
227 { FARAWY
, &IID_IServiceProvider
},
228 { FARAWY
, &IID_IHlinkFrame
},
229 { FARAWY
, &IID_IUrlHistoryNotify
},
230 { FARAWY
, &IID_ITargetFrame2
},
231 { FARAWY
, &IID_ITargetNotify
},
232 { FARAWY
, &IID_ITargetFramePriv2
},
233 { FARAWY
, &IID_ITargetFramePriv
},
234 { FARAWY
, &IID_IEFrameAuto
},
235 { FARAWY
, &IID_IWebBrowserPriv
},
236 { FARAWY
, &IID_IWebBrowserPriv2
},
237 { FARAWY
, &IID_ISecMgrCacheSeedTarget
},
238 { FARAWY
, &IID_ITargetFrame
},
242 static const INT ExpectedInterfaceCount
= RTL_NUMBER_OF(ExpectedInterfaces
);
246 TestClasses(L
"ieframe", ExpectedInterfaces
, ExpectedInterfaceCount
);