ReactOS  0.4.13-dev-464-g6b95727
browseui.c
Go to the documentation of this file.
1 /*
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>
6  */
7 
8 #include "com_apitest.h"
9 
10 #define NDEBUG
11 #include <debug.h>
12 
14 {
15  {
16  ID_NAME(CLSID_ACLCustomMRU),
17  {
18  { 0x0, &IID_IEnumString },
19  { 0x0, &IID_IUnknown },
20  { 0x4, &IID_IACList },
21  { 0x8, &IID_IACLCustomMRU },
22  },
23  },
24  {
25  ID_NAME(CLSID_ACLHistory),
26  {
27  { 0x0, &IID_IEnumString },
28  { 0x0, &IID_IUnknown },
29  },
30  },
31  {
32  ID_NAME(CLSID_ACLMRU),
33  {
34  { 0x0, &IID_IEnumString },
35  { 0x0, &IID_IUnknown },
36  { 0x4, &IID_IACList },
37  { 0x8, &IID_IACLCustomMRU },
38  },
39  },
40  {
41  ID_NAME(CLSID_ACLMulti),
42  {
43  { 0x0, &IID_IEnumString },
44  { 0x0, &IID_IUnknown },
45  { 0x4, &IID_IObjMgr },
46  { 0x8, &IID_IACList },
47  }
48  },
49  {
50  ID_NAME(CLSID_ACListISF),
51  {
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 },
59  }
60  },
61  {
62  ID_NAME(CLSID_AddressEditBox),
63  {
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 },
72  }
73  },
74  {
75  ID_NAME(CLSID_AugmentedShellFolder),
76  {
77  { 0x0, &IID_IAugmentedShellFolder2 },
78  { 0x0, &IID_IAugmentedShellFolder },
79  { 0x0, &IID_IShellFolder },
80  { 0x0, &IID_IUnknown },
81  { 0x4, &IID_IShellService },
82  { 0x8, &IID_ITranslateShellChangeNotify },
83  }
84  },
85  {
86  ID_NAME(CLSID_AugmentedShellFolder2),
87  {
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 },
96  }
97  },
98  {
99  ID_NAME(CLSID_AutoComplete),
100  {
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 },
108  }
109  },
110  {
111  ID_NAME(CLSID_BackgroundTaskScheduler),
112  {
113  { 0x0, &IID_IShellTaskScheduler },
114  { 0x0, &IID_IUnknown },
115  }
116  },
117  {
118  ID_NAME(CLSID_BandProxy),
119  {
120  { 0x0, &IID_IBandProxy },
121  { 0x0, &IID_IUnknown },
122  }
123  },
124  {
125  ID_NAME(CLSID_BandSiteMenu),
126  {
127  { 0x0, &IID_IContextMenu3 },
128  { 0x0, &IID_IContextMenu2 },
129  { 0x0, &IID_IContextMenu },
130  { 0x0, &IID_IUnknown },
131  { 0x4, &IID_IShellService },
132  }
133  },
134  {
135  ID_NAME(CLSID_BrandBand),
136  {
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 },
149  }
150  },
151  {
152  ID_NAME(CLSID_BrowserBand),
153  {
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 },
168  },
169  },
170  {
171  ID_NAME(CLSID_CCommonBrowser),
172  {
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 },
186  }
187  },
188  {
189  ID_NAME(CLSID_CDockingBarPropertyBag),
190  {
191  { 0x0, &IID_IPropertyBag },
192  { 0x0, &IID_IUnknown },
193  },
194  },
195  {
196  ID_NAME(CLSID_CRegTreeOptions),
197  {
198  { 0x0, &IID_IRegTreeOptions },
199  { 0x0, &IID_IUnknown },
200  { 0x4, &IID_IObjectWithSite },
201  }
202  },
203  {
204  ID_NAME(CLSID_CommBand),
205  {
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 },
220  },
221  },
222  {
223  ID_NAME(CLSID_DeskBar),
224  {
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 },
238  }
239  },
240  {
241  ID_NAME(CLSID_DeskBarApp),
242  {
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 },
259  }
260  },
261  {
262  ID_NAME(CLSID_GlobalFolderSettings),
263  {
264  { 0x0, &IID_IGlobalFolderSettings },
265  { 0x0, &IID_IUnknown },
266  },
267  L"Both"
268  },
269  {
270  ID_NAME(CLSID_ImageListCache),
271  {
272  { 0x0, &IID_IUnknown },
273  },
274  L"Both"
275  },
276  {
277  ID_NAME(CLSID_ImgCtxThumbnailExtractor),
278  {
279  { 0x0, &IID_IExtractImage2 },
280  { 0x0, &IID_IExtractImage },
281  { 0x0, &IID_IUnknown },
282  { 0x8, &IID_IPersistFile },
283  },
284  L"Both"
285  },
286  {
287  ID_NAME(CLSID_InternetToolbar),
288  {
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 },
303  }
304  },
305  {
306  ID_NAME(CLSID_ProgressDialog),
307  {
308  { 0x0, &IID_IProgressDialog },
309  { 0x0, &IID_IUnknown },
310  { 0x4, &IID_IOleWindow },
311  { 0x8, &IID_IActionProgressDialog },
312  { 0xc, &IID_IActionProgress },
313  { 0x10, &IID_IObjectWithSite },
314  },
315  L"Both"
316  },
317  {
318  ID_NAME(CLSID_RebarBandSite),
319  {
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 },
333  }
334  },
335  {
336  ID_NAME(CLSID_SH_AddressBand),
337  {
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 },
351  }
352  },
353  {
354  ID_NAME(CLSID_SH_SearchBand),
355  {
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 },
372  }
373  },
374  {
375  ID_NAME(CLSID_SharedTaskScheduler),
376  {
377  { 0x0, &IID_IShellTaskScheduler },
378  { 0x0, &IID_IUnknown },
379  }
380  },
381  {
382  ID_NAME(CLSID_ShellSearchExt),
383  {
384  { 0x0, &IID_IContextMenu },
385  { 0x0, &IID_IUnknown },
386  { 0x4, &IID_IObjectWithSite },
387  }
388  },
389  {
390  ID_NAME(CLSID_ShellTaskScheduler),
391  {
392  { 0x0, &IID_IShellTaskScheduler },
393  { 0x0, &IID_IUnknown },
394  },
395  },
396  {
397  ID_NAME(CLSID_UserAssist),
398  {
399  { 0x0, &IID_IUnknown },
400  },
401  L"Both"
402  },
403  {
404  ID_NAME(CLSID_WebSearchExt),
405  {
406  { 0x0, &IID_IContextMenu },
407  { 0x0, &IID_IUnknown },
408  { 0x4, &IID_IObjectWithSite },
409  },
410  },
411 };
413 
414 START_TEST(browseui)
415 {
417 }
const GUID IID_IOleInPlaceFrame
const GUID IID_IEnumString
const GUID IID_IPersist
Definition: proxy.cpp:14
static const CLASS_AND_INTERFACES ExpectedInterfaces[]
Definition: browseui.c:13
START_TEST(browseui)
Definition: browseui.c:414
int32_t INT
Definition: typedefs.h:56
#define ID_NAME(c)
Definition: com_apitest.c:38
const GUID IID_IPersistPropertyBag
Definition: proxy.cpp:11
const GUID IID_IPropertyBag
const GUID IID_IOleContainer
const GUID IID_IUnknown
const IID IID_IObjectWithSite
const GUID IID_IPersistStream
Definition: proxy.cpp:13
const GUID IID_IDispatch
static const WCHAR L[]
Definition: oid.c:1250
const GUID IID_IPersistStreamInit
static const INT ExpectedInterfaceCount
Definition: browseui.c:412
#define RTL_NUMBER_OF(x)
Definition: RtlRegistry.c:12
const GUID IID_IPersistFile
const GUID IID_IOleWindow
VOID TestClasses(_In_ PCWSTR ModuleName, _In_ PCCLASS_AND_INTERFACES ExpectedInterfaces, _In_ INT ExpectedInterfaceCount)
Definition: com_apitest.c:733