ReactOS 0.4.16-dev-1946-g52006dd
ieframe.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 ieframe classes
5 * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
6 * Carl Bialorucki <carl.bialorucki@reactos.org>
7 */
8
9#include "com_apitest.h"
10
11#define NDEBUG
12#include <debug.h>
13
15{
16 {
17 ID_NAME(CLSID_CommBand, NTDDI_WIN7, NTDDI_MAX),
18 {
19 { NTDDI_WIN7, NTDDI_MAX, &IID_IDeskBand },
20 { NTDDI_WIN7, NTDDI_MAX, &IID_IDockingWindow },
23 { NTDDI_WIN7, NTDDI_MAX, &IID_IInputObject },
26 { NTDDI_WIN7, NTDDI_MAX, &IID_IOleCommandTarget },
27 { NTDDI_WIN7, NTDDI_MAX, &IID_IServiceProvider },
28 { NTDDI_WIN7, NTDDI_MAX, &IID_IContextMenu },
32 },
33 },
34 {
35 ID_NAME(CLSID_CUrlHistory, NTDDI_MIN, NTDDI_MAX),
36 {
37 { NTDDI_MIN, NTDDI_MAX, &IID_IUrlHistoryStg2 },
38 { NTDDI_MIN, NTDDI_MAX, &IID_IUrlHistoryStg },
40 }
41 },
42 {
43 ID_NAME(CLSID_CURLSearchHook, NTDDI_MIN, NTDDI_MAX),
44 {
45 { NTDDI_MIN, NTDDI_MAX, &IID_IURLSearchHook2 },
46 { NTDDI_MIN, NTDDI_MAX, &IID_IURLSearchHook },
48 }
49 },
50 {
51 ID_NAME(CLSID_IE_SearchBand, NTDDI_MIN, NTDDI_VISTASP4),
52 {
54 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IDeskBand },
55 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IDockingWindow },
57 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IInputObject },
60 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IOleCommandTarget },
61 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IServiceProvider },
62 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IContextMenu },
66 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IBandNavigate },
67 }
68 },
69 {
70 ID_NAME(CLSID_Internet, NTDDI_MIN, NTDDI_WINBLUE),
71 {
72 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IObjectWithBackReferences },
73 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IShellFolder2 },
74 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IShellFolder },
75 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IPersistFolder2 },
76 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IPersistFolder },
78 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IBrowserFrameOptions },
79 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IContextMenu },
81 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IShellExtInit },
82 }
83 },
84 {
85 ID_NAME(CLSID_InternetShortcut, NTDDI_MIN, NTDDI_MAX),
86 {
88 { NTDDI_MIN, NTDDI_MAX, &IID_IContextMenu2 },
89 { NTDDI_MIN, NTDDI_MAX, &IID_IContextMenu },
90 { NTDDI_MIN, NTDDI_MAX, &IID_IExtractIconA },
91 { NTDDI_MIN, NTDDI_MAX, &IID_IExtractIconW },
96 { NTDDI_MIN, NTDDI_MAX, &IID_IShellExtInit },
97 { NTDDI_MIN, NTDDI_MAX, &IID_IShellLinkA },
98 { NTDDI_MIN, NTDDI_MAX, &IID_IShellLinkW },
99 { NTDDI_MIN, NTDDI_MAX, &IID_IShellPropSheetExt },
100 { NTDDI_MIN, NTDDI_MAX, &IID_IPropertySetStorage },
101 { NTDDI_MIN, NTDDI_MAX, &IID_INewShortcutHookA },
102 { NTDDI_MIN, NTDDI_MAX, &IID_INewShortcutHookW },
103 { NTDDI_MIN, NTDDI_MAX, &IID_IQueryInfo },
105 { NTDDI_MIN, NTDDI_MAX, &IID_IOleCommandTarget },
106 { NTDDI_MIN, NTDDI_MAX, &IID_IServiceProvider },
107 { NTDDI_MIN, NTDDI_MAX, &IID_IPropertyStore },
108 { NTDDI_MIN, NTDDI_MAX, &IID_IInitializeWithFile },
109 { NTDDI_MIN, NTDDI_MAX, &IID_IInitializeWithBindCtx },
110 }
111 },
112 {
113 ID_NAME(CLSID_ShellUIHelper, NTDDI_MIN, NTDDI_MAX),
114 {
117 { NTDDI_MIN, NTDDI_MAX, &IID_IObjectSafety },
118 { NTDDI_MIN, NTDDI_MAX, &IID_IShellUIHelper2 },
119 { NTDDI_MIN, NTDDI_MAX, &IID_IShellUIHelper },
121 { NTDDI_MIN, NTDDI_MAX, &IID_IDispatchEx },
122 }
123 },
124 {
125 ID_NAME(CLSID_ShellNameSpace, NTDDI_MIN, NTDDI_MAX),
126 {
127 { NTDDI_MIN, NTDDI_MAX, &IID_IShellNameSpace },
128 { NTDDI_MIN, NTDDI_MAX, &IID_IShellFavoritesNameSpace },
135 { NTDDI_MIN, NTDDI_MAX, &IID_IQuickActivate },
139 { NTDDI_MIN, NTDDI_MAX, &IID_IViewObjectEx },
142 { NTDDI_MIN, NTDDI_MAX, &IID_IOleInPlaceObjectWindowless },
146 { NTDDI_MIN, NTDDI_MAX, &IID_IDropTarget },
148 { NTDDI_MIN, NTDDI_MAX, &IID_INSCTree },
149 { NTDDI_MIN, NTDDI_MAX, &IID_IShellBrowser },
150 { NTDDI_MIN, NTDDI_MAX, &IID_IFolderFilterSite },
151 { NTDDI_MIN, NTDDI_MAX, &IID_INewMenuClient },
152 { NTDDI_MIN, NTDDI_MAX, &IID_IServiceProvider },
153 { NTDDI_MIN, NTDDI_MAX, &IID_INameSpaceTreeControl },
154 { NTDDI_MIN, NTDDI_MAX, &IID_IVisualProperties },
155 { NTDDI_MIN, NTDDI_MAX, &IID_IWinEventHandler },
156 }
157 },
158 {
159 ID_NAME(CLSID_ShellWindows, NTDDI_MIN, NTDDI_VISTASP4),
160 {
161 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IMarshal2 },
162 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IMarshal },
163 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IClientSecurity },
164 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IRpcOptions },
165 { NTDDI_MIN, NTDDI_VISTASP4, &IID_ICallFactory },
166 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IForegroundTransfer },
167 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IMultiQI },
169 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IShellWindows },
172
173 { NTDDI_VISTA, NTDDI_VISTASP4, &IID_IServiceProvider },
174 }
175 },
176 {
177 ID_NAME(CLSID_WebBrowser, NTDDI_MIN, NTDDI_MAX),
178 {
179 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IEFrameAuto },
180 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IWebBrowserPriv2 },
181
182#ifdef _WIN64 // IID_IWebBrowserPriv is missing from this class on Vista x64
183 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IWebBrowserPriv },
184 { NTDDI_WIN7, NTDDI_WINBLUE, &IID_IWebBrowserPriv },
185#else
186 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IWebBrowserPriv },
187#endif
188
205 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowser2 },
206 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowserApp },
207 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowser },
209 { NTDDI_MIN, NTDDI_MAX, &IID_IOleCommandTarget },
210 { NTDDI_MIN, NTDDI_MAX, &IID_IObjectSafety },
211 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetEmbedding },
213 { NTDDI_MIN, NTDDI_MAX, &IID_IPersistHistory },
214 { NTDDI_MIN, NTDDI_MAX, &IID_IShellService },
215 { NTDDI_MIN, NTDDI_MAX, &IID_IServiceProvider },
216 { NTDDI_MIN, NTDDI_MAX, &IID_IHlinkFrame },
217 { NTDDI_MIN, NTDDI_MAX, &IID_IUrlHistoryNotify },
218 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFrame2 },
219 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetNotify },
220 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFramePriv2 },
221 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFramePriv },
222 { NTDDI_MIN, NTDDI_MAX, &IID_ISecMgrCacheSeedTarget },
223 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFrame },
224 }
225 },
226 {
227 ID_NAME(CLSID_WebBrowser_V1, NTDDI_MIN, NTDDI_MAX),
228 {
229 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IEFrameAuto },
230 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IWebBrowserPriv2 },
231
232#ifdef _WIN64 // IID_IWebBrowserPriv is missing from this class on Vista x64
233 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IWebBrowserPriv },
234 { NTDDI_WIN7, NTDDI_WINBLUE, &IID_IWebBrowserPriv },
235#else
236 { NTDDI_MIN, NTDDI_WINBLUE, &IID_IWebBrowserPriv },
237#endif
238
255 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowser2 },
256 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowserApp },
257 { NTDDI_MIN, NTDDI_MAX, &IID_IWebBrowser },
259 { NTDDI_MIN, NTDDI_MAX, &IID_IOleCommandTarget },
260 { NTDDI_MIN, NTDDI_MAX, &IID_IObjectSafety },
261 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetEmbedding },
263 { NTDDI_MIN, NTDDI_MAX, &IID_IPersistHistory },
264 { NTDDI_MIN, NTDDI_MAX, &IID_IShellService },
265 { NTDDI_MIN, NTDDI_MAX, &IID_IServiceProvider },
266 { NTDDI_MIN, NTDDI_MAX, &IID_IHlinkFrame },
267 { NTDDI_MIN, NTDDI_MAX, &IID_IUrlHistoryNotify },
268 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFrame2 },
269 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetNotify },
270 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFramePriv2 },
271 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFramePriv },
272 { NTDDI_MIN, NTDDI_MAX, &IID_ISecMgrCacheSeedTarget },
273 { NTDDI_MIN, NTDDI_MAX, &IID_ITargetFrame },
274 }
275 },
276};
277
279{
281}
#define RTL_NUMBER_OF(x)
Definition: RtlRegistry.c:12
#define NTDDI_MIN
Definition: apitest.h:20
#define NTDDI_MAX
Definition: apitest.h:21
#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:815
#define ID_NAME(c)
Definition: com_apitest.c:38
#define L(x)
Definition: resources.c:13
static const CLASS_AND_INTERFACES ExpectedInterfaces[]
Definition: ieframe.c:14
const IID IID_IObjectWithSite
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_IPersistStorage
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_IPersistPropertyBag
Definition: proxy.cpp:11
#define NTDDI_VISTA
Definition: sdkddkver.h:103
#define NTDDI_VISTASP4
Definition: sdkddkver.h:107
#define NTDDI_WS03SP4
Definition: sdkddkver.h:96
#define NTDDI_WIN7
Definition: sdkddkver.h:112
#define NTDDI_WINBLUE
Definition: sdkddkver.h:115