Reactos
at master 159 lines 6.2 kB view raw
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}