ReactOS  0.4.15-dev-985-gd905dd5
shdocvw.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 shdocvw 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  {
17  {
18  { 0x0, &IID_IShellFolder2 },
19  { 0x0, &IID_IShellFolder },
20  { 0x0, &IID_IUnknown },
21  { 0x4, &IID_IPersistFolder3 },
22  { 0x4, &IID_IPersistFolder2 },
23  { 0x4, &IID_IPersistFolder },
24  { 0x4, &IID_IPersist },
25  { 0x8, &IID_IShellLinkA },
26  { 0xc, &IID_IShellLinkW },
27  { 0x10, &IID_IPersistFile },
28  { 0x14, &IID_IExtractIconW },
29  { 0x18, &IID_IQueryInfo },
30  { 0x20, &IID_IPersistStream },
31  { 0x20, &IID_IPersistStreamInit },
32  { 0x24, &IID_IPersistPropertyBag },
33  { 0x28, &IID_IBrowserFrameOptions },
34  }
35  },
36  {
37  ID_NAME(CLSID_ExplorerBand),
38  {
39  { -0xb4, &IID_IDeskBand },
40  { -0xb4, &IID_IDockingWindow },
41  { -0xb4, &IID_IOleWindow },
42  { -0xb0, &IID_IObjectWithSite },
43  { -0xa8, &IID_IInputObject },
44  { -0xa4, &IID_IPersistStream },
45  { -0xa4, &IID_IPersist },
46  { -0xa0, &IID_IOleCommandTarget },
47  { -0x9c, &IID_IServiceProvider },
48  { -0x84, &IID_IContextMenu },
49  { -0x80, &IID_IBandNavigate },
50  { -0x7c, &IID_IWinEventHandler },
51  { -0x78, &IID_INamespaceProxy },
52  { 0x0, &IID_IDispatch },
53  { 0x0, &IID_IUnknown },
54  }
55  },
56  {
58  {
59  { 0x0, &IID_IShellFolder2 },
60  { 0x0, &IID_IShellFolder },
61  { 0x0, &IID_IUnknown },
62  { 0x4, &IID_IPersistFolder3 },
63  { 0x4, &IID_IPersistFolder2 },
64  { 0x4, &IID_IPersistFolder },
65  { 0x4, &IID_IPersist },
66  { 0x8, &IID_IShellLinkA },
67  { 0xc, &IID_IShellLinkW },
68  { 0x10, &IID_IPersistFile },
69  { 0x14, &IID_IExtractIconW },
70  { 0x18, &IID_IQueryInfo },
71  { 0x20, &IID_IPersistStream },
72  { 0x20, &IID_IPersistStreamInit },
73  { 0x24, &IID_IPersistPropertyBag },
74  { 0x28, &IID_IBrowserFrameOptions },
75  }
76  },
77 #if 0 // E_OUTOFMEMORY?
78  {
79  ID_NAME(CLSID_ShellDispatchInproc),
80  {
81  { 0x0, &IID_IUnknown },
82  }
83  },
84 #endif
85  {
86  ID_NAME(CLSID_MruLongList),
87  {
88  { 0x0, &IID_IUnknown },
89  }
90  },
91  {
92  ID_NAME(CLSID_SH_FavBand),
93  {
94  { -0x30, &IID_IDeskBand },
95  { -0x30, &IID_IDockingWindow },
96  { -0x30, &IID_IOleWindow },
97  { -0x2c, &IID_IObjectWithSite },
98  { -0x24, &IID_IInputObject },
99  { -0x20, &IID_IPersistStream },
100  { -0x20, &IID_IPersist },
101  { -0x1c, &IID_IOleCommandTarget },
102  { -0x18, &IID_IServiceProvider },
103  { 0x0, &IID_IContextMenu },
104  { 0x0, &IID_IUnknown },
105  { 0x4, &IID_IBandNavigate },
106  { 0x8, &IID_IWinEventHandler },
107  { 0xc, &IID_INamespaceProxy },
108  }
109  },
110  {
111  ID_NAME(CLSID_SH_HistBand),
112  {
113  { -0xb4, &IID_IDeskBand },
114  { -0xb4, &IID_IDockingWindow },
115  { -0xb4, &IID_IOleWindow },
116  { -0xb0, &IID_IObjectWithSite },
117  { -0xa8, &IID_IInputObject },
118  { -0xa4, &IID_IPersistStream },
119  { -0xa4, &IID_IPersist },
120  { -0xa0, &IID_IOleCommandTarget },
121  { -0x9c, &IID_IServiceProvider },
122  { -0x84, &IID_IContextMenu },
123  { -0x80, &IID_IBandNavigate },
124  { -0x7c, &IID_IWinEventHandler },
125  { -0x78, &IID_INamespaceProxy },
126  { 0x0, &IID_IShellFolderSearchableCallback },
127  { 0x0, &IID_IUnknown },
128  }
129  },
130  {
131  ID_NAME(CLSID_SearchAssistantOC),
132  {
133  { 0x0, &IID_ISearchAssistantOC3 },
134  { 0x0, &IID_ISearchAssistantOC },
135  { 0x0, &IID_IDispatch },
136  { 0x0, &IID_IUnknown },
137  { 0x4, &IID_IProvideClassInfo2 },
138  { 0x4, &IID_IProvideClassInfo },
139  { 0x8, &IID_IQuickActivate },
140  { 0xc, &IID_IOleControl },
141  { 0x10, &IID_IOleObject },
142  { 0x14, &IID_IOleInPlaceActiveObject },
143  { 0x18, &IID_IViewObjectEx },
144  { 0x18, &IID_IViewObject2 },
145  { 0x18, &IID_IViewObject },
146  { 0x1c, &IID_IOleInPlaceObjectWindowless },
147  { 0x1c, &IID_IOleInPlaceObject },
148  { 0x1c, &IID_IOleWindow },
149  { 0x20, &IID_IDataObject },
151  { 0x34, &IID_IObjectSafety },
152  { 0x3c, &IID_IOleCommandTarget },
153  { 0x40, &IID_IObjectWithSite },
154  }
155  },
156  {
157  ID_NAME(CLSID_SearchBand),
158  {
159  { 0x0, &IID_IContextMenu },
160  { 0x0, &IID_IUnknown },
161  { 0x4, &IID_IShellExtInit },
162  { 0x8, &IID_IPersistPropertyBag },
163  { 0x8, &IID_IPersist },
164  }
165  },
166  {
167  ID_NAME(CLSID_ShellSearchAssistantOC),
168  {
169  { 0x0, &IID_ISearchAssistantOC3 },
170  { 0x0, &IID_ISearchAssistantOC },
171  { 0x0, &IID_IDispatch },
172  { 0x0, &IID_IUnknown },
173  { 0x4, &IID_IProvideClassInfo2 },
174  { 0x4, &IID_IProvideClassInfo },
175  { 0x8, &IID_IQuickActivate },
176  { 0xc, &IID_IOleControl },
177  { 0x10, &IID_IOleObject },
178  { 0x14, &IID_IOleInPlaceActiveObject },
179  { 0x18, &IID_IViewObjectEx },
180  { 0x18, &IID_IViewObject2 },
181  { 0x18, &IID_IViewObject },
182  { 0x1c, &IID_IOleInPlaceObjectWindowless },
183  { 0x1c, &IID_IOleInPlaceObject },
184  { 0x1c, &IID_IOleWindow },
185  { 0x20, &IID_IDataObject },
187  { 0x34, &IID_IObjectSafety },
188  { 0x3c, &IID_IOleCommandTarget },
189  { 0x40, &IID_IObjectWithSite },
190  }
191  },
192  {
193  ID_NAME(CLSID_ShellShellNameSpace),
194  {
195  { 0x0, &IID_IShellNameSpace },
196  { 0x0, &IID_IShellFavoritesNameSpace },
197  { 0x0, &IID_IDispatch },
198  { 0x0, &IID_IUnknown },
199  { 0x4, &IID_IProvideClassInfo2 },
200  { 0x4, &IID_IProvideClassInfo },
201  { 0x8, &IID_IPersistStreamInit },
202  { 0xc, &IID_IPersistPropertyBag },
203  { 0x10, &IID_IQuickActivate },
204  { 0x14, &IID_IOleControl },
205  { 0x18, &IID_IOleObject },
206  { 0x1c, &IID_IOleInPlaceActiveObject },
207  { 0x20, &IID_IViewObjectEx },
208  { 0x20, &IID_IViewObject2 },
209  { 0x20, &IID_IViewObject },
210  { 0x24, &IID_IOleInPlaceObjectWindowless },
211  { 0x24, &IID_IOleInPlaceObject },
212  { 0x24, &IID_IOleWindow },
213  { 0x28, &IID_ISpecifyPropertyPages },
215  { 0x3c, &IID_IShellChangeNotify },
216  { 0x40, &IID_IDropTarget },
217  { 0xb4, &IID_IObjectWithSite },
218  { 0xbc, &IID_INSCTree2 },
219  { 0xbc, &IID_INSCTree },
220  { 0xc0, &IID_IWinEventHandler },
221  { 0xc4, &IID_IShellBrowser },
222  { 0xc8, &IID_IFolderFilterSite },
223  }
224  },
225  {
226  ID_NAME(CLSID_TaskbarList),
227  {
228  { 0x0, &IID_ITaskbarList2 },
229  { 0x0, &IID_ITaskbarList },
230  { 0x0, &IID_IUnknown },
231  }
232  },
233  {
234  ID_NAME(CLSID_AttachmentServices ),
235  {
236  { 0x0, &IID_IAttachmentExecute },
237  { 0x0, &IID_IUnknown },
238  }
239  },
240 };
242 
243 START_TEST(shdocvw)
244 {
246 }
const GUID CLSID_AdminFolderShortcut
const GUID IID_IViewObject
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IConnectionPointContainer
const GUID IID_IDataObject
const GUID IID_ISpecifyPropertyPages
Definition: proxy.cpp:12
int32_t INT
Definition: typedefs.h:58
#define ID_NAME(c)
Definition: com_apitest.c:38
const GUID CLSID_FontsFolderShortcut
const GUID IID_IPersistPropertyBag
Definition: proxy.cpp:11
const GUID IID_IProvideClassInfo
const GUID IID_IProvideClassInfo2
static const INT ExpectedInterfaceCount
Definition: shdocvw.c:241
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
const GUID IID_IUnknown
const IID IID_IObjectWithSite
const GUID IID_IPersistStream
Definition: proxy.cpp:13
START_TEST(shdocvw)
Definition: shdocvw.c:243
const GUID IID_IDispatch
const GUID IID_IOleControl
static const WCHAR L[]
Definition: oid.c:1250
const GUID IID_IPersistStreamInit
const GUID IID_IViewObject2
#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
const GUID IID_IOleInPlaceActiveObject
static const CLASS_AND_INTERFACES ExpectedInterfaces[]
Definition: shdocvw.c:13