11 }NETCONMGR_ENUM_FLAGS
;
17 NCCF_ALLOW_DUPLICATION
= 0x2,
18 NCCF_ALLOW_REMOVAL
= 0x4,
19 NCCF_ALLOW_RENAME
= 0x8,
20 NCCF_SHOW_ICON
= 0x10,
21 NCCF_INCOMING_ONLY
= 0x20,
22 NCCF_OUTGOING_ONLY
= 0x40,
26 NCCF_FIREWALLED
= 0x400,
28 NCCF_HOMENET_CAPABLE
= 0x1000,
29 NCCF_SHARED_PRIVATE
= 0x2000,
30 NCCF_QUARANTINED
= 0x4000,
31 NCCF_RESERVED
= 0x8000,
32 NCCF_BLUETOOTH_MASK
= 0xf0000,
33 NCCF_LAN_MASK
= 0xf00000
34 }NETCON_CHARACTERISTIC_FLAGS
;
40 NCS_CONNECTING
= NCS_DISCONNECTED
+ 1,
41 NCS_CONNECTED
= NCS_CONNECTING
+ 1,
42 NCS_DISCONNECTING
= NCS_CONNECTED
+ 1,
43 NCS_HARDWARE_NOT_PRESENT
= NCS_DISCONNECTING
+ 1,
44 NCS_HARDWARE_DISABLED
= NCS_HARDWARE_NOT_PRESENT
+ 1,
45 NCS_HARDWARE_MALFUNCTION
= NCS_HARDWARE_DISABLED
+ 1,
46 NCS_MEDIA_DISCONNECTED
= NCS_HARDWARE_MALFUNCTION
+ 1,
47 NCS_AUTHENTICATING
= NCS_MEDIA_DISCONNECTED
+ 1,
48 NCS_AUTHENTICATION_SUCCEEDED
= NCS_AUTHENTICATING
+ 1,
49 NCS_AUTHENTICATION_FAILED
= NCS_AUTHENTICATION_SUCCEEDED
+ 1,
50 NCS_INVALID_ADDRESS
= NCS_AUTHENTICATION_FAILED
+ 1,
51 NCS_CREDENTIALS_REQUIRED
= NCS_INVALID_ADDRESS
+ 1
56 NCT_DIRECT_CONNECT
= 0,
57 NCT_INBOUND
= NCT_DIRECT_CONNECT
+ 1,
58 NCT_INTERNET
= NCT_INBOUND
+ 1,
59 NCT_LAN
= NCT_INTERNET
+ 1,
60 NCT_PHONE
= NCT_LAN
+ 1,
61 NCT_TUNNEL
= NCT_PHONE
+ 1,
62 NCT_BRIDGE
= NCT_TUNNEL
+ 1
69 NCM_DIRECT
= NCM_NONE
+ 1,
70 NCM_ISDN
= NCM_DIRECT
+ 1,
71 NCM_LAN
= NCM_ISDN
+ 1,
72 NCM_PHONE
= NCM_LAN
+ 1,
73 NCM_TUNNEL
= NCM_PHONE
+ 1,
74 NCM_PPPOE
= NCM_TUNNEL
+ 1,
75 NCM_BRIDGE
= NCM_PPPOE
+ 1,
76 NCM_SHAREDACCESSHOST_LAN
= NCM_BRIDGE
+ 1,
77 NCM_SHAREDACCESSHOST_RAS
= NCM_SHAREDACCESSHOST_LAN
+ 1
81 typedef struct tagNETCON_PROPERTIES
85 LPWSTR pszwDeviceName
;
87 NETCON_MEDIATYPE MediaType
;
89 CLSID clsidThisObject
;
95 #define INTERFACE INetConnection
96 DECLARE_INTERFACE_(INetConnection
, IUnknown
)
98 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void **ppv
) PURE
;
99 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
100 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
101 STDMETHOD_(HRESULT
,Connect
) (THIS
) PURE
;
102 STDMETHOD_(HRESULT
,Disconnect
) (THIS
) PURE
;
103 STDMETHOD_(HRESULT
,Delete
) (THIS
) PURE
;
104 STDMETHOD_(HRESULT
,Duplicate
)(THIS_ LPCWSTR pszwDuplicateName
, INetConnection
**ppCon
) PURE
;
105 STDMETHOD_(HRESULT
,GetProperties
) (THIS_ NETCON_PROPERTIES
**ppProps
) PURE
;
106 STDMETHOD_(HRESULT
,GetUiObjectClassId
) (THIS_ CLSID
*pclsid
) PURE
;
107 STDMETHOD_(HRESULT
,Rename
) (THIS_ LPCWSTR pszwNewName
) PURE
;
111 #if !defined(__cplusplus) || defined(CINTERFACE)
112 /*** IUnknown methods ***/
113 #define INetConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
114 #define INetConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
115 #define INetConnection_Release(p) (p)->lpVtbl->Release(p)
116 #define INetConnection_Connect(p) (p)->lpVtbl->Connect(p)
117 #define INetConnection_Disconnect(p) (p)->lpVtbl->Disconnect(p)
118 #define INetConnection_Delete(p) (p)->lpVtbl->Delete(p)
119 #define INetConnection_Duplicate(p,a,b) (p)->lpVtbl->Duplicate(p,a,b)
120 #define INetConnection_GetProperties(p,a) (p)->lpVtbl->GetProperties(p,a)
121 #define INetConnection_GetUiObjectClassId(p,a) (p)->lpVtbl->GetUiObjectClassId(p,a)
122 #define INetConnection_Rename(p,a) (p)->lpVtbl->Rename(p,a)
125 EXTERN_C
const IID IID_INetConnection
;
129 #define INTERFACE IEnumNetConnection
130 DECLARE_INTERFACE_(IEnumNetConnection
, IUnknown
)
132 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, void **ppv
) PURE
;
133 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
134 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
135 STDMETHOD(Next
)(THIS_ ULONG celt
, INetConnection
**rgelt
, ULONG
*pceltFetched
) PURE
;
136 STDMETHOD(Skip
) (THIS_ ULONG celt
) PURE
;
137 STDMETHOD(Reset
) (THIS
) PURE
;
138 STDMETHOD(Clone
) (THIS_ IEnumNetConnection
**ppenum
) PURE
;
142 EXTERN_C
const IID IID_IEnumNetConnection
;
144 #if !defined(__cplusplus) || defined(CINTERFACE)
145 #define IEnumNetConnection_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
146 #define IEnumNetConnection_AddRef(p) (p)->lpVtbl->AddRef(p)
147 #define IEnumNetConnection_Release(p) (p)->lpVtbl->Release(p)
148 #define IEnumNetConnection_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
149 #define IEnumNetConnection_Skip(p,a) (p)->lpVtbl->Skip(p,a)
150 #define IEnumNetConnection_Reset(p) (p)->lpVtbl->Reset(p)
151 #define IEnumNetConnection_Clone(p,a) (p)->lpVtbl->Clone(p,a)
155 #define INTERFACE INetConnectionManager
156 DECLARE_INTERFACE_(INetConnectionManager
, IUnknown
)
158 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void **ppv
) PURE
;
159 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
160 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
161 STDMETHOD_(HRESULT
,EnumConnections
) (THIS_ NETCONMGR_ENUM_FLAGS Flags
, IEnumNetConnection
**ppEnum
) PURE
;
165 #if !defined(__cplusplus) || defined(CINTERFACE)
166 #define INetConnectionManager_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
167 #define INetConnectionManager_AddRef(p) (p)->lpVtbl->AddRef(p)
168 #define INetConnectionManager_Release(p) (p)->lpVtbl->Release(p)
169 #define INetConnectionManager_EnumConnections(p,a,b) (p)->lpVtbl->EnumConnections(p,a,b)
172 EXTERN_C
const CLSID CLSID_ConnectionManager
;
173 EXTERN_C
const IID IID_INetConnectionManager
;
179 NCUC_ENABLE_DISABLE
= 2
180 }NETCONUI_CONNECT_FLAGS
;
183 #define INTERFACE INetConnectionConnectUi
184 DECLARE_INTERFACE_(INetConnectionConnectUi
, IUnknown
)
186 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void **ppv
) PURE
;
187 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
188 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
189 STDMETHOD_(HRESULT
,SetConnection
)(THIS_ INetConnection
* pCon
) PURE
;
190 STDMETHOD_(HRESULT
,Connect
) (THIS_ HWND hwndParent
, DWORD dwFlags
) PURE
;
191 STDMETHOD_(HRESULT
,Disconnect
) (THIS_ HWND hwndParent
, DWORD dwFlags
) PURE
;
194 #if !defined(__cplusplus) || defined(CINTERFACE)
195 #define INetConnectionConnectUi_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
196 #define INetConnectionConnectUi_AddRef(p) (p)->lpVtbl->AddRef(p)
197 #define INetConnectionConnectUi_Release(p) (p)->lpVtbl->Release(p)
198 #define INetConnectionConnectUi_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a)
199 #define INetConnectionConnectUi_Connect(p,a,b) (p)->lpVtbl->Connect(p,a,b)
200 #define INetConnectionConnectUi_Disconnect(p,a,b) (p)->lpVtbl->Disconnect(p,a,b)
203 EXTERN_C
const IID IID_INetConnectionConnectUi
;
206 #define INTERFACE INetConnectionPropertyUi
207 DECLARE_INTERFACE_(INetConnectionPropertyUi
, IUnknown
)
209 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void **ppv
) PURE
;
210 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
211 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
212 STDMETHOD_(HRESULT
, SetConnection
) (THIS_ INetConnection
*pCon
) PURE
;
213 STDMETHOD_(HRESULT
, AddPages
) (THIS_ HWND hwndParent
, LPFNADDPROPSHEETPAGE pfnAddPage
, LPARAM lParam
) PURE
;
219 #if !defined(__cplusplus) || defined(CINTERFACE)
220 #define INetConnectionPropertyUi_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
221 #define INetConnectionPropertyUi_AddRef(p) (p)->lpVtbl->AddRef(p)
222 #define INetConnectionPropertyUi_Release(p) (p)->lpVtbl->Release(p)
223 #define INetConnectionPropertyUi_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a)
224 #define INetConnectionPropertyUi_AddPages(p,a,b,c) (p)->lpVtbl->AddPages(p,a,b,c)
227 EXTERN_C
const IID IID_INetConnectionPropertyUi
;
230 #define INTERFACE INetConnectionPropertyUi2
231 DECLARE_INTERFACE_(INetConnectionPropertyUi2
, IUnknown
)
233 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void **ppv
) PURE
;
234 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
235 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
236 STDMETHOD_(HRESULT
, SetConnection
) (THIS_ INetConnection
*pCon
) PURE
;
237 STDMETHOD_(HRESULT
, AddPages
) (THIS_ HWND hwndParent
, LPFNADDPROPSHEETPAGE pfnAddPage
, LPARAM lParam
) PURE
;
238 STDMETHOD_(HRESULT
, GetIcon
) (THIS_ DWORD dwSize
, HICON
*phIcon
) PURE
;
242 #if !defined(__cplusplus) || defined(CINTERFACE)
243 #define INetConnectionPropertyUi2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
244 #define INetConnectionPropertyUi2_AddRef(p) (p)->lpVtbl->AddRef(p)
245 #define INetConnectionPropertyUi2_Release(p) (p)->lpVtbl->Release(p)
246 #define INetConnectionPropertyUi2_SetConnection(p,a) (p)->lpVtbl->SetConnection(p,a)
247 #define INetConnectionPropertyUi2_AddPages(p,a,b,c) (p)->lpVtbl->AddPages(p,a,b,c)
248 #define INetConnectionPropertyUi2_GetIcon(p,a,b) (p)->lpVtbl->GetIcon(p,a,b)
252 EXTERN_C
const IID IID_INetConnectionPropertyUi2
;
255 VOID WINAPI
NcFreeNetconProperties (NETCON_PROPERTIES
* pProps
);