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_ACLMulti
),
18 { 0x0, &IID_IEnumString
},
19 { 0x0, &IID_IUnknown
},
20 { 0x4, &IID_IObjMgr
},
21 { 0x8, &IID_IACList
},
25 ID_NAME(CLSID_ACListISF
),
27 { 0x0, &IID_IEnumString
},
28 { 0x0, &IID_IUnknown
},
29 { 0x4, &IID_IACList2
},
30 { 0x4, &IID_IACList
},
31 { 0xc, &IID_IShellService
},
32 { 0x10, &IID_IPersistFolder
},
36 ID_NAME(CLSID_AddressEditBox
),
38 { 0x0, &IID_IWinEventHandler
},
39 { 0x0, &IID_IUnknown
},
40 { 0x4, &IID_IDispatch
},
41 { 0x8, &IID_IAddressBand
},
42 { 0xc, &IID_IAddressEditBox
},
43 { 0x10, &IID_IOleCommandTarget
},
44 { 0x14, &IID_IPersistStream
},
45 { 0x18, &IID_IShellService
},
49 ID_NAME(CLSID_AugmentedShellFolder
),
51 { 0x0, &IID_IAugmentedShellFolder2
},
52 { 0x0, &IID_IAugmentedShellFolder
},
53 { 0x0, &IID_IShellFolder
},
54 { 0x0, &IID_IUnknown
},
55 { 0x4, &IID_IShellService
},
56 { 0x8, &IID_ITranslateShellChangeNotify
},
60 ID_NAME(CLSID_AugmentedShellFolder2
),
62 { 0x0, &IID_IAugmentedShellFolder2
},
63 { 0x0, &IID_IAugmentedShellFolder
},
64 { 0x0, &IID_IShellFolder
},
65 { 0x0, &IID_IUnknown
},
66 { 0x4, &IID_IShellFolder2
},
67 { 0x8, &IID_IShellService
},
68 { 0xc, &IID_ITranslateShellChangeNotify
},
69 { 0x10, &IID_IDropTarget
},
73 ID_NAME(CLSID_AutoComplete
),
75 { 0x0, &IID_IAutoComplete2
},
76 { 0x0, &IID_IAutoComplete
},
77 { 0x0, &IID_IUnknown
},
78 { 0x4, &IID_IAutoCompleteDropDown
},
79 { 0x8, &IID_IEnumString
},
80 { 0xc, &IID_IAccessible
},
81 { 0xc, &IID_IDispatch
},
85 ID_NAME(CLSID_BackgroundTaskScheduler
),
87 { 0x0, &IID_IShellTaskScheduler
},
88 { 0x0, &IID_IUnknown
},
92 ID_NAME(CLSID_BandProxy
),
94 { 0x0, &IID_IBandProxy
},
95 { 0x0, &IID_IUnknown
},
99 ID_NAME(CLSID_BrandBand
),
101 { 0x0, &IID_IDeskBand
},
102 { 0x0, &IID_IDockingWindow
},
103 { 0x0, &IID_IOleWindow
},
104 { 0x0, &IID_IUnknown
},
105 { 0x4, &IID_IObjectWithSite
},
106 { 0xc, &IID_IInputObject
},
107 { 0x10, &IID_IPersistStream
},
108 { 0x10, &IID_IPersist
},
109 { 0x14, &IID_IOleCommandTarget
},
110 { 0x18, &IID_IServiceProvider
},
111 { 0x30, &IID_IWinEventHandler
},
112 { 0x34, &IID_IDispatch
},
116 ID_NAME(CLSID_BandSiteMenu
),
118 { 0x0, &IID_IContextMenu3
},
119 { 0x0, &IID_IContextMenu2
},
120 { 0x0, &IID_IContextMenu
},
121 { 0x0, &IID_IUnknown
},
122 { 0x4, &IID_IShellService
},
126 ID_NAME(CLSID_CCommonBrowser
),
128 { 0x0, &IID_IUnknown
},
129 { 0xc, &IID_IShellBrowser
},
130 { 0xc, &IID_IOleWindow
},
131 { 0x10, &IID_IBrowserService3
},
132 { 0x10, &IID_IBrowserService2
},
133 { 0x10, &IID_IBrowserService
},
134 { 0x14, &IID_IServiceProvider
},
135 { 0x18, &IID_IOleCommandTarget
},
136 { 0x1c, &IID_IDockingWindowSite
},
137 { 0x20, &IID_IDockingWindowFrame
},
138 { 0x24, &IID_IInputObjectSite
},
139 { 0x28, &IID_IDropTarget
},
140 { 0x2c, &IID_IShellBrowserService
},
144 ID_NAME(CLSID_CRegTreeOptions
),
146 { 0x0, &IID_IRegTreeOptions
},
147 { 0x0, &IID_IUnknown
},
148 { 0x4, &IID_IObjectWithSite
},
152 ID_NAME(CLSID_DeskBar
),
154 { -0xb8, &IID_IOleCommandTarget
},
155 { -0xb4, &IID_IServiceProvider
},
156 { -0xb0, &IID_IDeskBar
},
157 { -0xb0, &IID_IOleWindow
},
158 { -0xac, &IID_IInputObjectSite
},
159 { -0xa8, &IID_IInputObject
},
160 { -0x70, &IID_IDockingWindow
},
161 { -0x6c, &IID_IObjectWithSite
},
162 { -0x68, &IID_IPersistStreamInit
},
163 { -0x68, &IID_IPersistStream
},
164 { -0x68, &IID_IPersist
},
165 { -0x64, &IID_IPersistPropertyBag
},
166 { 0x0, &IID_IUnknown
},
170 ID_NAME(CLSID_DeskBarApp
),
172 { -0xb8, &IID_IOleCommandTarget
},
173 { -0xb4, &IID_IServiceProvider
},
174 { -0xb0, &IID_IDeskBar
},
175 { -0xb0, &IID_IOleWindow
},
176 { -0xac, &IID_IInputObjectSite
},
177 { -0xa8, &IID_IInputObject
},
178 { -0x70, &IID_IDockingWindow
},
179 { -0x6c, &IID_IObjectWithSite
},
180 { -0x68, &IID_IPersistStreamInit
},
181 { -0x68, &IID_IPersistStream
},
182 { -0x68, &IID_IPersist
},
183 { -0x64, &IID_IPersistPropertyBag
},
184 { 0x0, &IID_IUnknown
},
185 { 0x8, &IID_IContextMenu3
},
186 { 0x8, &IID_IContextMenu2
},
187 { 0x8, &IID_IContextMenu
},
191 ID_NAME(CLSID_GlobalFolderSettings
),
193 { 0x0, &IID_IGlobalFolderSettings
},
194 { 0x0, &IID_IUnknown
},
199 ID_NAME(CLSID_InternetToolbar
),
201 { -0x54, &IID_IOleCommandTarget
},
202 { -0x50, &IID_IServiceProvider
},
203 { -0x4c, &IID_IDeskBar
},
204 { -0x4c, &IID_IOleWindow
},
205 { -0x48, &IID_IInputObjectSite
},
206 { -0x44, &IID_IInputObject
},
207 { -0xc, &IID_IDockingWindow
},
208 { -0x8, &IID_IObjectWithSite
},
209 { -0x4, &IID_IExplorerToolbar
},
210 { 0x0, &IID_IDispatch
},
211 { 0x0, &IID_IUnknown
},
212 { 0x4, &IID_IPersistStreamInit
},
213 { 0x8, &IID_IShellChangeNotify
},
217 ID_NAME(CLSID_ProgressDialog
),
219 { 0x0, &IID_IProgressDialog
},
220 { 0x0, &IID_IUnknown
},
221 { 0x4, &IID_IOleWindow
},
222 { 0x8, &IID_IActionProgressDialog
},
223 { 0xc, &IID_IActionProgress
},
224 { 0x10, &IID_IObjectWithSite
},
229 ID_NAME(CLSID_RebarBandSite
),
231 { 0x0, &IID_IUnknown
},
232 { 0xc, &IID_IBandSite
},
233 { 0x10, &IID_IInputObjectSite
},
234 { 0x14, &IID_IInputObject
},
235 { 0x18, &IID_IDeskBarClient
},
236 { 0x18, &IID_IOleWindow
},
237 { 0x1c, &IID_IWinEventHandler
},
238 { 0x20, &IID_IPersistStream
},
239 { 0x20, &IID_IPersist
},
240 { 0x24, &IID_IDropTarget
},
241 { 0x28, &IID_IServiceProvider
},
242 { 0x2c, &IID_IBandSiteHelper
},
243 { 0x30, &IID_IOleCommandTarget
},
247 ID_NAME(CLSID_SH_AddressBand
),
249 { 0x0, &IID_IDeskBand
},
250 { 0x0, &IID_IDockingWindow
},
251 { 0x0, &IID_IOleWindow
},
252 { 0x0, &IID_IUnknown
},
253 { 0x4, &IID_IObjectWithSite
},
254 { 0xc, &IID_IInputObject
},
255 { 0x10, &IID_IPersistStream
},
256 { 0x10, &IID_IPersist
},
257 { 0x14, &IID_IOleCommandTarget
},
258 { 0x18, &IID_IServiceProvider
},
259 { 0x30, &IID_IWinEventHandler
},
260 { 0x34, &IID_IAddressBand
},
261 { 0x38, &IID_IInputObjectSite
},
265 ID_NAME(CLSID_SharedTaskScheduler
),
267 { 0x0, &IID_IShellTaskScheduler
},
268 { 0x0, &IID_IUnknown
},
272 ID_NAME(CLSID_ShellSearchExt
),
274 { 0x0, &IID_IContextMenu
},
275 { 0x0, &IID_IUnknown
},
276 { 0x4, &IID_IObjectWithSite
},
280 static const INT ExpectedInterfaceCount
= RTL_NUMBER_OF(ExpectedInterfaces
);
284 TestClasses(L
"browseui", ExpectedInterfaces
, ExpectedInterfaceCount
);