2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: COM interface test for browseui 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_ACLCustomMRU
),
18 { 0x0, &IID_IEnumString
},
19 { 0x0, &IID_IUnknown
},
20 { 0x4, &IID_IACList
},
21 { 0x8, &IID_IACLCustomMRU
},
25 ID_NAME(CLSID_ACLHistory
),
27 { 0x0, &IID_IEnumString
},
28 { 0x0, &IID_IUnknown
},
32 ID_NAME(CLSID_ACLMRU
),
34 { 0x0, &IID_IEnumString
},
35 { 0x0, &IID_IUnknown
},
36 { 0x4, &IID_IACList
},
37 { 0x8, &IID_IACLCustomMRU
},
41 ID_NAME(CLSID_ACLMulti
),
43 { 0x0, &IID_IEnumString
},
44 { 0x0, &IID_IUnknown
},
45 { 0x4, &IID_IObjMgr
},
46 { 0x8, &IID_IACList
},
50 ID_NAME(CLSID_ACListISF
),
52 { 0x0, &IID_IEnumString
},
53 { 0x0, &IID_IUnknown
},
54 { 0x4, &IID_IACList2
},
55 { 0x4, &IID_IACList
},
56 { 0x8, &IID_ICurrentWorkingDirectory
},
57 { 0xc, &IID_IShellService
},
58 { 0x10, &IID_IPersistFolder
},
62 ID_NAME(CLSID_AddressEditBox
),
64 { 0x0, &IID_IWinEventHandler
},
65 { 0x0, &IID_IUnknown
},
66 { 0x4, &IID_IDispatch
},
67 { 0x8, &IID_IAddressBand
},
68 { 0xc, &IID_IAddressEditBox
},
69 { 0x10, &IID_IOleCommandTarget
},
70 { 0x14, &IID_IPersistStream
},
71 { 0x18, &IID_IShellService
},
75 ID_NAME(CLSID_AugmentedShellFolder
),
77 { 0x0, &IID_IAugmentedShellFolder2
},
78 { 0x0, &IID_IAugmentedShellFolder
},
79 { 0x0, &IID_IShellFolder
},
80 { 0x0, &IID_IUnknown
},
81 { 0x4, &IID_IShellService
},
82 { 0x8, &IID_ITranslateShellChangeNotify
},
86 ID_NAME(CLSID_AugmentedShellFolder2
),
88 { 0x0, &IID_IAugmentedShellFolder2
},
89 { 0x0, &IID_IAugmentedShellFolder
},
90 { 0x0, &IID_IShellFolder
},
91 { 0x0, &IID_IUnknown
},
92 { 0x4, &IID_IShellFolder2
},
93 { 0x8, &IID_IShellService
},
94 { 0xc, &IID_ITranslateShellChangeNotify
},
95 { 0x10, &IID_IDropTarget
},
99 ID_NAME(CLSID_AutoComplete
),
101 { 0x0, &IID_IAutoComplete2
},
102 { 0x0, &IID_IAutoComplete
},
103 { 0x0, &IID_IUnknown
},
104 { 0x4, &IID_IAutoCompleteDropDown
},
105 { 0x8, &IID_IEnumString
},
106 { 0xc, &IID_IAccessible
},
107 { 0xc, &IID_IDispatch
},
111 ID_NAME(CLSID_BackgroundTaskScheduler
),
113 { 0x0, &IID_IShellTaskScheduler
},
114 { 0x0, &IID_IUnknown
},
118 ID_NAME(CLSID_BandProxy
),
120 { 0x0, &IID_IBandProxy
},
121 { 0x0, &IID_IUnknown
},
125 ID_NAME(CLSID_BandSiteMenu
),
127 { 0x0, &IID_IContextMenu3
},
128 { 0x0, &IID_IContextMenu2
},
129 { 0x0, &IID_IContextMenu
},
130 { 0x0, &IID_IUnknown
},
131 { 0x4, &IID_IShellService
},
135 ID_NAME(CLSID_BrandBand
),
137 { 0x0, &IID_IDeskBand
},
138 { 0x0, &IID_IDockingWindow
},
139 { 0x0, &IID_IOleWindow
},
140 { 0x0, &IID_IUnknown
},
141 { 0x4, &IID_IObjectWithSite
},
142 { 0xc, &IID_IInputObject
},
143 { 0x10, &IID_IPersistStream
},
144 { 0x10, &IID_IPersist
},
145 { 0x14, &IID_IOleCommandTarget
},
146 { 0x18, &IID_IServiceProvider
},
147 { 0x30, &IID_IWinEventHandler
},
148 { 0x34, &IID_IDispatch
},
152 ID_NAME(CLSID_BrowserBand
),
154 { -0x30, &IID_IDeskBand
},
155 { -0x30, &IID_IDockingWindow
},
156 { -0x30, &IID_IOleWindow
},
157 { -0x2c, &IID_IObjectWithSite
},
158 { -0x24, &IID_IInputObject
},
159 { -0x20, &IID_IPersistStream
},
160 { -0x20, &IID_IPersist
},
161 { -0x1c, &IID_IOleCommandTarget
},
162 { -0x18, &IID_IServiceProvider
},
163 { 0x0, &IID_IContextMenu
},
164 { 0x0, &IID_IUnknown
},
165 { 0x4, &IID_IWinEventHandler
},
166 { 0x8, &IID_IDispatch
},
167 { 0x10, &IID_IPersistPropertyBag
},
171 ID_NAME(CLSID_CCommonBrowser
),
173 { 0x0, &IID_IUnknown
},
174 { 0xc, &IID_IShellBrowser
},
175 { 0xc, &IID_IOleWindow
},
176 { 0x10, &IID_IBrowserService3
},
177 { 0x10, &IID_IBrowserService2
},
178 { 0x10, &IID_IBrowserService
},
179 { 0x14, &IID_IServiceProvider
},
180 { 0x18, &IID_IOleCommandTarget
},
181 { 0x1c, &IID_IDockingWindowSite
},
182 { 0x20, &IID_IDockingWindowFrame
},
183 { 0x24, &IID_IInputObjectSite
},
184 { 0x28, &IID_IDropTarget
},
185 { 0x2c, &IID_IShellBrowserService
},
189 ID_NAME(CLSID_CDockingBarPropertyBag
),
191 { 0x0, &IID_IPropertyBag
},
192 { 0x0, &IID_IUnknown
},
196 ID_NAME(CLSID_CRegTreeOptions
),
198 { 0x0, &IID_IRegTreeOptions
},
199 { 0x0, &IID_IUnknown
},
200 { 0x4, &IID_IObjectWithSite
},
204 ID_NAME(CLSID_CommBand
),
206 { -0x30, &IID_IDeskBand
},
207 { -0x30, &IID_IDockingWindow
},
208 { -0x30, &IID_IOleWindow
},
209 { -0x2c, &IID_IObjectWithSite
},
210 { -0x24, &IID_IInputObject
},
211 { -0x20, &IID_IPersistStream
},
212 { -0x20, &IID_IPersist
},
213 { -0x1c, &IID_IOleCommandTarget
},
214 { -0x18, &IID_IServiceProvider
},
215 { 0x0, &IID_IContextMenu
},
216 { 0x0, &IID_IUnknown
},
217 { 0x4, &IID_IWinEventHandler
},
218 { 0x8, &IID_IDispatch
},
219 { 0x10, &IID_IPersistPropertyBag
},
223 ID_NAME(CLSID_DeskBar
),
225 { -0xb8, &IID_IOleCommandTarget
},
226 { -0xb4, &IID_IServiceProvider
},
227 { -0xb0, &IID_IDeskBar
},
228 { -0xb0, &IID_IOleWindow
},
229 { -0xac, &IID_IInputObjectSite
},
230 { -0xa8, &IID_IInputObject
},
231 { -0x70, &IID_IDockingWindow
},
232 { -0x6c, &IID_IObjectWithSite
},
233 { -0x68, &IID_IPersistStreamInit
},
234 { -0x68, &IID_IPersistStream
},
235 { -0x68, &IID_IPersist
},
236 { -0x64, &IID_IPersistPropertyBag
},
237 { 0x0, &IID_IUnknown
},
241 ID_NAME(CLSID_DeskBarApp
),
243 { -0xb8, &IID_IOleCommandTarget
},
244 { -0xb4, &IID_IServiceProvider
},
245 { -0xb0, &IID_IDeskBar
},
246 { -0xb0, &IID_IOleWindow
},
247 { -0xac, &IID_IInputObjectSite
},
248 { -0xa8, &IID_IInputObject
},
249 { -0x70, &IID_IDockingWindow
},
250 { -0x6c, &IID_IObjectWithSite
},
251 { -0x68, &IID_IPersistStreamInit
},
252 { -0x68, &IID_IPersistStream
},
253 { -0x68, &IID_IPersist
},
254 { -0x64, &IID_IPersistPropertyBag
},
255 { 0x0, &IID_IUnknown
},
256 { 0x8, &IID_IContextMenu3
},
257 { 0x8, &IID_IContextMenu2
},
258 { 0x8, &IID_IContextMenu
},
262 ID_NAME(CLSID_GlobalFolderSettings
),
264 { 0x0, &IID_IGlobalFolderSettings
},
265 { 0x0, &IID_IUnknown
},
270 ID_NAME(CLSID_ImageListCache
),
272 { 0x0, &IID_IUnknown
},
277 ID_NAME(CLSID_ImgCtxThumbnailExtractor
),
279 { 0x0, &IID_IExtractImage2
},
280 { 0x0, &IID_IExtractImage
},
281 { 0x0, &IID_IUnknown
},
282 { 0x8, &IID_IPersistFile
},
287 ID_NAME(CLSID_InternetToolbar
),
289 { -0x54, &IID_IOleCommandTarget
},
290 { -0x50, &IID_IServiceProvider
},
291 { -0x4c, &IID_IDeskBar
},
292 { -0x4c, &IID_IOleWindow
},
293 { -0x48, &IID_IInputObjectSite
},
294 { -0x44, &IID_IInputObject
},
295 { -0xc, &IID_IDockingWindow
},
296 { -0x8, &IID_IObjectWithSite
},
297 { -0x4, &IID_IExplorerToolbar
},
298 { 0x0, &DIID_DWebBrowserEvents
},
299 { 0x0, &IID_IDispatch
},
300 { 0x0, &IID_IUnknown
},
301 { 0x4, &IID_IPersistStreamInit
},
302 { 0x8, &IID_IShellChangeNotify
},
306 ID_NAME(CLSID_ProgressDialog
),
308 { 0x0, &IID_IProgressDialog
},
309 { 0x0, &IID_IUnknown
},
310 { 0x4, &IID_IOleWindow
},
311 { 0x8, &IID_IActionProgressDialog
},
312 { 0xc, &IID_IActionProgress
},
313 { 0x10, &IID_IObjectWithSite
},
318 ID_NAME(CLSID_RebarBandSite
),
320 { 0x0, &IID_IUnknown
},
321 { 0xc, &IID_IBandSite
},
322 { 0x10, &IID_IInputObjectSite
},
323 { 0x14, &IID_IInputObject
},
324 { 0x18, &IID_IDeskBarClient
},
325 { 0x18, &IID_IOleWindow
},
326 { 0x1c, &IID_IWinEventHandler
},
327 { 0x20, &IID_IPersistStream
},
328 { 0x20, &IID_IPersist
},
329 { 0x24, &IID_IDropTarget
},
330 { 0x28, &IID_IServiceProvider
},
331 { 0x2c, &IID_IBandSiteHelper
},
332 { 0x30, &IID_IOleCommandTarget
},
336 ID_NAME(CLSID_SH_AddressBand
),
338 { 0x0, &IID_IDeskBand
},
339 { 0x0, &IID_IDockingWindow
},
340 { 0x0, &IID_IOleWindow
},
341 { 0x0, &IID_IUnknown
},
342 { 0x4, &IID_IObjectWithSite
},
343 { 0xc, &IID_IInputObject
},
344 { 0x10, &IID_IPersistStream
},
345 { 0x10, &IID_IPersist
},
346 { 0x14, &IID_IOleCommandTarget
},
347 { 0x18, &IID_IServiceProvider
},
348 { 0x30, &IID_IWinEventHandler
},
349 { 0x34, &IID_IAddressBand
},
350 { 0x38, &IID_IInputObjectSite
},
354 ID_NAME(CLSID_SH_SearchBand
),
356 { 0x0, &IID_IUnknown
},
357 { 0x74, &IID_IOleContainer
},
358 { 0x78, &IID_IOleInPlaceFrame
},
359 //{ 0x78, &IID_IOleInPlaceUIWindow },
360 { 0x78, &IID_IOleWindow
},
361 { 0xb0, &IID_IDeskBand
},
362 { 0xb0, &IID_IDockingWindow
},
363 { 0xb4, &IID_IInputObject
},
364 { 0xb8, &IID_IObjectWithSite
},
365 { 0xbc, &IID_IContextMenu
},
366 { 0xc0, &IID_IServiceProvider
},
367 { 0xc8, &IID_ISearchBar
},
368 { 0xcc, &IID_IFileSearchBand
},
369 { 0xcc, &IID_IDispatch
},
370 { 0xd0, &IID_IBandNavigate
},
371 { 0xd8, &IID_IPersist
},
375 ID_NAME(CLSID_SharedTaskScheduler
),
377 { 0x0, &IID_IShellTaskScheduler
},
378 { 0x0, &IID_IUnknown
},
382 ID_NAME(CLSID_ShellSearchExt
),
384 { 0x0, &IID_IContextMenu
},
385 { 0x0, &IID_IUnknown
},
386 { 0x4, &IID_IObjectWithSite
},
390 ID_NAME(CLSID_ShellTaskScheduler
),
392 { 0x0, &IID_IShellTaskScheduler
},
393 { 0x0, &IID_IUnknown
},
397 ID_NAME(CLSID_UserAssist
),
399 { 0x0, &IID_IUnknown
},
404 ID_NAME(CLSID_WebSearchExt
),
406 { 0x0, &IID_IContextMenu
},
407 { 0x0, &IID_IUnknown
},
408 { 0x4, &IID_IObjectWithSite
},
412 static const INT ExpectedInterfaceCount
= RTL_NUMBER_OF(ExpectedInterfaces
);
416 TestClasses(L
"browseui", ExpectedInterfaces
, ExpectedInterfaceCount
);