ReactOS 0.4.15-dev-5666-gc548b97
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 },
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 },
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 },
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
244{
246}
#define RTL_NUMBER_OF(x)
Definition: RtlRegistry.c:12
static const CLASS_AND_INTERFACES ExpectedInterfaces[]
Definition: shdocvw.c:13
static const INT ExpectedInterfaceCount
Definition: shdocvw.c:241
#define START_TEST(x)
Definition: atltest.h:75
const GUID IID_IUnknown
VOID TestClasses(_In_ PCWSTR ModuleName, _In_ PCCLASS_AND_INTERFACES ExpectedInterfaces, _In_ INT ExpectedInterfaceCount)
Definition: com_apitest.c:752
#define ID_NAME(c)
Definition: com_apitest.c:38
const GUID CLSID_FontsFolderShortcut
const GUID CLSID_AdminFolderShortcut
const IID IID_IObjectWithSite
#define L(x)
Definition: ntvdm.h:50
const GUID IID_IOleInPlaceActiveObject
const GUID IID_IViewObject
const GUID IID_IConnectionPointContainer
const GUID IID_IProvideClassInfo
const GUID IID_IOleWindow
const GUID IID_IViewObject2
const GUID IID_IProvideClassInfo2
const GUID IID_IDataObject
const GUID IID_IDispatch
const GUID IID_IOleInPlaceObject
const GUID IID_IOleObject
const GUID IID_IOleControl
const GUID IID_IPersistStreamInit
const GUID IID_IPersistFile
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13
const GUID IID_ISpecifyPropertyPages
Definition: proxy.cpp:12
const GUID IID_IPersistPropertyBag
Definition: proxy.cpp:11
int32_t INT
Definition: typedefs.h:58