Reactos
1/*
2 * PROJECT: ReactOS api tests
3 * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
4 * PURPOSE: COM interface test for netshell 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
14static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
15{
16 /* CLSID_ConnectionCommonUi has two entries here because the
17 * threading model changed between Windows versions. */
18 {
19 ID_NAME(CLSID_ConnectionCommonUi, NTDDI_MIN, NTDDI_WS03),
20 {
21 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
22 },
23 L"Both"
24 },
25 {
26 ID_NAME(CLSID_ConnectionCommonUi, NTDDI_VISTA, NTDDI_MAX),
27 {
28 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
29
30 { NTDDI_VISTA, NTDDI_MAX, &IID_INetLanConnectionUiInfo },
31 { NTDDI_VISTA, NTDDI_MAX, &IID_IMarshal2 },
32 { NTDDI_VISTA, NTDDI_MAX, &IID_IMarshal },
33 { NTDDI_VISTA, NTDDI_MAX, &IID_IClientSecurity },
34 { NTDDI_VISTA, NTDDI_MAX, &IID_IRpcOptions },
35 { NTDDI_VISTA, NTDDI_MAX, &IID_ICallFactory },
36 { NTDDI_VISTA, NTDDI_MAX, &IID_IForegroundTransfer },
37 { NTDDI_VISTA, NTDDI_MAX, &IID_IMultiQI },
38 },
39 L"Free"
40 },
41 {
42 ID_NAME(CLSID_NetworkConnections, NTDDI_MIN, NTDDI_MAX),
43 {
44 { NTDDI_MIN, NTDDI_MAX, &IID_IPersistFolder2 },
45 { NTDDI_MIN, NTDDI_MAX, &IID_IPersistFolder },
46 { NTDDI_MIN, NTDDI_MAX, &IID_IPersist },
47 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
48 { NTDDI_MIN, NTDDI_MAX, &IID_IShellExtInit },
49 { NTDDI_MIN, NTDDI_MAX, &IID_IShellFolder2 },
50 { NTDDI_MIN, NTDDI_MAX, &IID_IShellFolder },
51 { NTDDI_MIN, NTDDI_MAX, &IID_IOleCommandTarget },
52 { NTDDI_MIN, NTDDI_MAX, &IID_IShellFolderViewCB },
53 },
54 L"Both"
55 },
56 {
57 ID_NAME(CLSID_ConnectionFolderEnum, NTDDI_MIN, NTDDI_MAX),
58 {
59 { NTDDI_MIN, NTDDI_MAX, &IID_IEnumIDList },
60 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
61 },
62 L"Both"
63 },
64 {
65 ID_NAME(CLSID_ConnectionTray, NTDDI_MIN, NTDDI_WIN7SP1),
66 {
67 { NTDDI_MIN, NTDDI_VISTASP4, &IID_IOleCommandTarget },
68
69 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
70 },
71 L"Both"
72 },
73 {
74 ID_NAME(CLSID_DialupConnectionUi, NTDDI_MIN, NTDDI_MAX),
75 {
76 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
77 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
78 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
79 },
80 L"Both"
81 },
82 {
83 ID_NAME(CLSID_DirectConnectionUi, NTDDI_MIN, NTDDI_WS03SP4),
84 {
85 { NTDDI_MIN, NTDDI_WS03SP4, &IID_INetConnectionConnectUi },
86 { NTDDI_MIN, NTDDI_WS03SP4, &IID_IUnknown },
87 { NTDDI_MIN, NTDDI_WS03SP4, &IID_INetConnectionPropertyUi2 },
88 },
89 L"Both"
90 },
91 {
92 ID_NAME(CLSID_InboundConnectionUi, NTDDI_MIN, NTDDI_MAX),
93 {
94 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
95 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
96 },
97 L"Both"
98 },
99 {
100 ID_NAME(CLSID_InternetConnectionUi, NTDDI_MIN, NTDDI_MAX),
101 {
102 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
103 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
104 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
105 },
106 L"Both"
107 },
108 {
109 ID_NAME(CLSID_LanConnectionUi, NTDDI_MIN, NTDDI_MAX),
110 {
111 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
112 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
113 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
114 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi },
115 { NTDDI_MIN, NTDDI_MAX, &IID_INetLanConnectionUiInfo },
116 },
117 L"Both"
118 },
119 {
120 ID_NAME(CLSID_NetConnectionUiUtilities, NTDDI_MIN, NTDDI_MAX),
121 {
122 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
123 },
124 L"Both"
125 },
126 {
127 ID_NAME(CLSID_SharedAccessConnectionUi, NTDDI_MIN, NTDDI_MAX),
128 {
129 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
130 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
131 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
132 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi },
133 },
134 L"Both"
135 },
136 {
137 ID_NAME(CLSID_PPPoEUi, NTDDI_MIN, NTDDI_MAX),
138 {
139 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
140 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
141 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
142 },
143 L"Both"
144 },
145 {
146 ID_NAME(CLSID_VpnConnectionUi, NTDDI_MIN, NTDDI_MAX),
147 {
148 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionConnectUi },
149 { NTDDI_MIN, NTDDI_MAX, &IID_IUnknown },
150 { NTDDI_MIN, NTDDI_MAX, &IID_INetConnectionPropertyUi2 },
151 },
152 L"Both"
153 },
154};
155
156START_TEST(netshell)
157{
158 TestClasses(L"netshell", ExpectedInterfaces, RTL_NUMBER_OF(ExpectedInterfaces));
159}