• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*** Autogenerated by WIDL 4.19 from include/netlistmgr.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __netlistmgr_h__
17 #define __netlistmgr_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __INetworkCostManager_FWD_DEFINED__
22 #define __INetworkCostManager_FWD_DEFINED__
23 typedef interface INetworkCostManager INetworkCostManager;
24 #ifdef __cplusplus
25 interface INetworkCostManager;
26 #endif /* __cplusplus */
27 #endif
28 
29 #ifndef __INetworkConnectionCost_FWD_DEFINED__
30 #define __INetworkConnectionCost_FWD_DEFINED__
31 typedef interface INetworkConnectionCost INetworkConnectionCost;
32 #ifdef __cplusplus
33 interface INetworkConnectionCost;
34 #endif /* __cplusplus */
35 #endif
36 
37 #ifndef __INetworkCostManagerEvents_FWD_DEFINED__
38 #define __INetworkCostManagerEvents_FWD_DEFINED__
39 typedef interface INetworkCostManagerEvents INetworkCostManagerEvents;
40 #ifdef __cplusplus
41 interface INetworkCostManagerEvents;
42 #endif /* __cplusplus */
43 #endif
44 
45 #ifndef __IEnumNetworks_FWD_DEFINED__
46 #define __IEnumNetworks_FWD_DEFINED__
47 typedef interface IEnumNetworks IEnumNetworks;
48 #ifdef __cplusplus
49 interface IEnumNetworks;
50 #endif /* __cplusplus */
51 #endif
52 
53 #ifndef __IEnumNetworkConnections_FWD_DEFINED__
54 #define __IEnumNetworkConnections_FWD_DEFINED__
55 typedef interface IEnumNetworkConnections IEnumNetworkConnections;
56 #ifdef __cplusplus
57 interface IEnumNetworkConnections;
58 #endif /* __cplusplus */
59 #endif
60 
61 #ifndef __INetworkListManager_FWD_DEFINED__
62 #define __INetworkListManager_FWD_DEFINED__
63 typedef interface INetworkListManager INetworkListManager;
64 #ifdef __cplusplus
65 interface INetworkListManager;
66 #endif /* __cplusplus */
67 #endif
68 
69 #ifndef __NetworkListManager_FWD_DEFINED__
70 #define __NetworkListManager_FWD_DEFINED__
71 #ifdef __cplusplus
72 typedef class NetworkListManager NetworkListManager;
73 #else
74 typedef struct NetworkListManager NetworkListManager;
75 #endif /* defined __cplusplus */
76 #endif /* defined __NetworkListManager_FWD_DEFINED__ */
77 
78 #ifndef __INetworkListManagerEvents_FWD_DEFINED__
79 #define __INetworkListManagerEvents_FWD_DEFINED__
80 typedef interface INetworkListManagerEvents INetworkListManagerEvents;
81 #ifdef __cplusplus
82 interface INetworkListManagerEvents;
83 #endif /* __cplusplus */
84 #endif
85 
86 #ifndef __INetworkConnectionEvents_FWD_DEFINED__
87 #define __INetworkConnectionEvents_FWD_DEFINED__
88 typedef interface INetworkConnectionEvents INetworkConnectionEvents;
89 #ifdef __cplusplus
90 interface INetworkConnectionEvents;
91 #endif /* __cplusplus */
92 #endif
93 
94 #ifndef __INetworkConnection_FWD_DEFINED__
95 #define __INetworkConnection_FWD_DEFINED__
96 typedef interface INetworkConnection INetworkConnection;
97 #ifdef __cplusplus
98 interface INetworkConnection;
99 #endif /* __cplusplus */
100 #endif
101 
102 #ifndef __INetwork_FWD_DEFINED__
103 #define __INetwork_FWD_DEFINED__
104 typedef interface INetwork INetwork;
105 #ifdef __cplusplus
106 interface INetwork;
107 #endif /* __cplusplus */
108 #endif
109 
110 /* Headers for imported files */
111 
112 #include <oaidl.h>
113 #include <objidl.h>
114 
115 #ifdef __cplusplus
116 extern "C" {
117 #endif
118 
119 #ifndef __IEnumNetworks_FWD_DEFINED__
120 #define __IEnumNetworks_FWD_DEFINED__
121 typedef interface IEnumNetworks IEnumNetworks;
122 #ifdef __cplusplus
123 interface IEnumNetworks;
124 #endif /* __cplusplus */
125 #endif
126 
127 #ifndef __IEnumNetworkConnections_FWD_DEFINED__
128 #define __IEnumNetworkConnections_FWD_DEFINED__
129 typedef interface IEnumNetworkConnections IEnumNetworkConnections;
130 #ifdef __cplusplus
131 interface IEnumNetworkConnections;
132 #endif /* __cplusplus */
133 #endif
134 
135 #ifndef __INetwork_FWD_DEFINED__
136 #define __INetwork_FWD_DEFINED__
137 typedef interface INetwork INetwork;
138 #ifdef __cplusplus
139 interface INetwork;
140 #endif /* __cplusplus */
141 #endif
142 
143 #ifndef __INetworkConnection_FWD_DEFINED__
144 #define __INetworkConnection_FWD_DEFINED__
145 typedef interface INetworkConnection INetworkConnection;
146 #ifdef __cplusplus
147 interface INetworkConnection;
148 #endif /* __cplusplus */
149 #endif
150 
151 #ifndef __INetworkCostManager_FWD_DEFINED__
152 #define __INetworkCostManager_FWD_DEFINED__
153 typedef interface INetworkCostManager INetworkCostManager;
154 #ifdef __cplusplus
155 interface INetworkCostManager;
156 #endif /* __cplusplus */
157 #endif
158 
159 #ifndef __INetworkListManager_FWD_DEFINED__
160 #define __INetworkListManager_FWD_DEFINED__
161 typedef interface INetworkListManager INetworkListManager;
162 #ifdef __cplusplus
163 interface INetworkListManager;
164 #endif /* __cplusplus */
165 #endif
166 
167 #ifndef __INetworkListManagerEvents_FWD_DEFINED__
168 #define __INetworkListManagerEvents_FWD_DEFINED__
169 typedef interface INetworkListManagerEvents INetworkListManagerEvents;
170 #ifdef __cplusplus
171 interface INetworkListManagerEvents;
172 #endif /* __cplusplus */
173 #endif
174 
175 typedef enum NLM_CONNECTIVITY {
176     NLM_CONNECTIVITY_DISCONNECTED = 0x0,
177     NLM_CONNECTIVITY_IPV4_NOTRAFFIC = 0x1,
178     NLM_CONNECTIVITY_IPV6_NOTRAFFIC = 0x2,
179     NLM_CONNECTIVITY_IPV4_SUBNET = 0x10,
180     NLM_CONNECTIVITY_IPV4_LOCALNETWORK = 0x20,
181     NLM_CONNECTIVITY_IPV4_INTERNET = 0x40,
182     NLM_CONNECTIVITY_IPV6_SUBNET = 0x100,
183     NLM_CONNECTIVITY_IPV6_LOCALNETWORK = 0x200,
184     NLM_CONNECTIVITY_IPV6_INTERNET = 0x400
185 } NLM_CONNECTIVITY;
186 typedef enum NLM_DOMAIN_TYPE {
187     NLM_DOMAIN_TYPE_NON_DOMAIN_NETWORK = 0x0,
188     NLM_DOMAIN_TYPE_DOMAIN_NETWORK = 0x1,
189     NLM_DOMAIN_TYPE_DOMAIN_AUTHENTICATED = 0x2
190 } NLM_DOMAIN_TYPE;
191 typedef enum NLM_ENUM_NETWORK {
192     NLM_ENUM_NETWORK_CONNECTED = 0x1,
193     NLM_ENUM_NETWORK_DISCONNECTED = 0x2,
194     NLM_ENUM_NETWORK_ALL = 0x3
195 } NLM_ENUM_NETWORK;
196 typedef enum NLM_CONNECTION_COST {
197     NLM_CONNECTION_COST_UNKNOWN = 0x0,
198     NLM_CONNECTION_COST_UNRESTRICTED = 0x1,
199     NLM_CONNECTION_COST_FIXED = 0x2,
200     NLM_CONNECTION_COST_VARIABLE = 0x4,
201     NLM_CONNECTION_COST_OVERDATALIMIT = 0x10000,
202     NLM_CONNECTION_COST_CONGESTED = 0x20000,
203     NLM_CONNECTION_COST_ROAMING = 0x40000,
204     NLM_CONNECTION_COST_APPROACHINGDATALIMIT = 0x80000
205 } NLM_CONNECTION_COST;
206 typedef struct NLM_SOCKADDR {
207     BYTE data[128];
208 } NLM_SOCKADDR;
209 #define NLM_UNKNOWN_DATAPLAN_STATUS (0xffffffff)
210 
211 typedef struct NLM_USAGE_DATA {
212     DWORD UsageInMegabytes;
213     FILETIME LastSyncTime;
214 } NLM_USAGE_DATA;
215 typedef struct NLM_DATAPLAN_STATUS {
216     GUID InterfaceGuid;
217     NLM_USAGE_DATA UsageData;
218     DWORD DataLimitInMegabytes;
219     DWORD InboundBandwidthInKbps;
220     DWORD OutboundBandwidthInKbps;
221     FILETIME NextBillingCycle;
222     DWORD MaxTransferSizeInMegabytes;
223     DWORD Reserved;
224 } NLM_DATAPLAN_STATUS;
225 /*****************************************************************************
226  * INetworkCostManager interface
227  */
228 #ifndef __INetworkCostManager_INTERFACE_DEFINED__
229 #define __INetworkCostManager_INTERFACE_DEFINED__
230 
231 DEFINE_GUID(IID_INetworkCostManager, 0xdcb00008, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
232 #if defined(__cplusplus) && !defined(CINTERFACE)
233 MIDL_INTERFACE("dcb00008-570f-4a9b-8d69-199fdba5723b")
234 INetworkCostManager : public IUnknown
235 {
236     virtual HRESULT STDMETHODCALLTYPE GetCost(
237         DWORD *pCost,
238         NLM_SOCKADDR *pDestIPAddr) = 0;
239 
240     virtual HRESULT STDMETHODCALLTYPE GetDataPlanStatus(
241         NLM_DATAPLAN_STATUS *pDataPlanStatus,
242         NLM_SOCKADDR *pDestIPAddr) = 0;
243 
244     virtual HRESULT STDMETHODCALLTYPE SetDestinationAddresses(
245         UINT32 length,
246         NLM_SOCKADDR *pDestIPAddrList,
247         VARIANT_BOOL bAppend) = 0;
248 
249 };
250 #ifdef __CRT_UUID_DECL
251 __CRT_UUID_DECL(INetworkCostManager, 0xdcb00008, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
252 #endif
253 #else
254 typedef struct INetworkCostManagerVtbl {
255     BEGIN_INTERFACE
256 
257     /*** IUnknown methods ***/
258     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
259         INetworkCostManager *This,
260         REFIID riid,
261         void **ppvObject);
262 
263     ULONG (STDMETHODCALLTYPE *AddRef)(
264         INetworkCostManager *This);
265 
266     ULONG (STDMETHODCALLTYPE *Release)(
267         INetworkCostManager *This);
268 
269     /*** INetworkCostManager methods ***/
270     HRESULT (STDMETHODCALLTYPE *GetCost)(
271         INetworkCostManager *This,
272         DWORD *pCost,
273         NLM_SOCKADDR *pDestIPAddr);
274 
275     HRESULT (STDMETHODCALLTYPE *GetDataPlanStatus)(
276         INetworkCostManager *This,
277         NLM_DATAPLAN_STATUS *pDataPlanStatus,
278         NLM_SOCKADDR *pDestIPAddr);
279 
280     HRESULT (STDMETHODCALLTYPE *SetDestinationAddresses)(
281         INetworkCostManager *This,
282         UINT32 length,
283         NLM_SOCKADDR *pDestIPAddrList,
284         VARIANT_BOOL bAppend);
285 
286     END_INTERFACE
287 } INetworkCostManagerVtbl;
288 
289 interface INetworkCostManager {
290     CONST_VTBL INetworkCostManagerVtbl* lpVtbl;
291 };
292 
293 #ifdef COBJMACROS
294 #ifndef WIDL_C_INLINE_WRAPPERS
295 /*** IUnknown methods ***/
296 #define INetworkCostManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
297 #define INetworkCostManager_AddRef(This) (This)->lpVtbl->AddRef(This)
298 #define INetworkCostManager_Release(This) (This)->lpVtbl->Release(This)
299 /*** INetworkCostManager methods ***/
300 #define INetworkCostManager_GetCost(This,pCost,pDestIPAddr) (This)->lpVtbl->GetCost(This,pCost,pDestIPAddr)
301 #define INetworkCostManager_GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr) (This)->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr)
302 #define INetworkCostManager_SetDestinationAddresses(This,length,pDestIPAddrList,bAppend) (This)->lpVtbl->SetDestinationAddresses(This,length,pDestIPAddrList,bAppend)
303 #else
304 /*** IUnknown methods ***/
305 static FORCEINLINE HRESULT INetworkCostManager_QueryInterface(INetworkCostManager* This,REFIID riid,void **ppvObject) {
306     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
307 }
308 static FORCEINLINE ULONG INetworkCostManager_AddRef(INetworkCostManager* This) {
309     return This->lpVtbl->AddRef(This);
310 }
311 static FORCEINLINE ULONG INetworkCostManager_Release(INetworkCostManager* This) {
312     return This->lpVtbl->Release(This);
313 }
314 /*** INetworkCostManager methods ***/
315 static FORCEINLINE HRESULT INetworkCostManager_GetCost(INetworkCostManager* This,DWORD *pCost,NLM_SOCKADDR *pDestIPAddr) {
316     return This->lpVtbl->GetCost(This,pCost,pDestIPAddr);
317 }
318 static FORCEINLINE HRESULT INetworkCostManager_GetDataPlanStatus(INetworkCostManager* This,NLM_DATAPLAN_STATUS *pDataPlanStatus,NLM_SOCKADDR *pDestIPAddr) {
319     return This->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus,pDestIPAddr);
320 }
321 static FORCEINLINE HRESULT INetworkCostManager_SetDestinationAddresses(INetworkCostManager* This,UINT32 length,NLM_SOCKADDR *pDestIPAddrList,VARIANT_BOOL bAppend) {
322     return This->lpVtbl->SetDestinationAddresses(This,length,pDestIPAddrList,bAppend);
323 }
324 #endif
325 #endif
326 
327 #endif
328 
329 
330 #endif  /* __INetworkCostManager_INTERFACE_DEFINED__ */
331 
332 /*****************************************************************************
333  * INetworkConnectionCost interface
334  */
335 #ifndef __INetworkConnectionCost_INTERFACE_DEFINED__
336 #define __INetworkConnectionCost_INTERFACE_DEFINED__
337 
338 DEFINE_GUID(IID_INetworkConnectionCost, 0xdcb0000a, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
339 #if defined(__cplusplus) && !defined(CINTERFACE)
340 MIDL_INTERFACE("dcb0000a-570f-4a9b-8d69-199fdba5723b")
341 INetworkConnectionCost : public IUnknown
342 {
343     virtual HRESULT STDMETHODCALLTYPE GetCost(
344         DWORD *pCost) = 0;
345 
346     virtual HRESULT STDMETHODCALLTYPE GetDataPlanStatus(
347         NLM_DATAPLAN_STATUS *pDataPlanStatus) = 0;
348 
349 };
350 #ifdef __CRT_UUID_DECL
351 __CRT_UUID_DECL(INetworkConnectionCost, 0xdcb0000a, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
352 #endif
353 #else
354 typedef struct INetworkConnectionCostVtbl {
355     BEGIN_INTERFACE
356 
357     /*** IUnknown methods ***/
358     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
359         INetworkConnectionCost *This,
360         REFIID riid,
361         void **ppvObject);
362 
363     ULONG (STDMETHODCALLTYPE *AddRef)(
364         INetworkConnectionCost *This);
365 
366     ULONG (STDMETHODCALLTYPE *Release)(
367         INetworkConnectionCost *This);
368 
369     /*** INetworkConnectionCost methods ***/
370     HRESULT (STDMETHODCALLTYPE *GetCost)(
371         INetworkConnectionCost *This,
372         DWORD *pCost);
373 
374     HRESULT (STDMETHODCALLTYPE *GetDataPlanStatus)(
375         INetworkConnectionCost *This,
376         NLM_DATAPLAN_STATUS *pDataPlanStatus);
377 
378     END_INTERFACE
379 } INetworkConnectionCostVtbl;
380 
381 interface INetworkConnectionCost {
382     CONST_VTBL INetworkConnectionCostVtbl* lpVtbl;
383 };
384 
385 #ifdef COBJMACROS
386 #ifndef WIDL_C_INLINE_WRAPPERS
387 /*** IUnknown methods ***/
388 #define INetworkConnectionCost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
389 #define INetworkConnectionCost_AddRef(This) (This)->lpVtbl->AddRef(This)
390 #define INetworkConnectionCost_Release(This) (This)->lpVtbl->Release(This)
391 /*** INetworkConnectionCost methods ***/
392 #define INetworkConnectionCost_GetCost(This,pCost) (This)->lpVtbl->GetCost(This,pCost)
393 #define INetworkConnectionCost_GetDataPlanStatus(This,pDataPlanStatus) (This)->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus)
394 #else
395 /*** IUnknown methods ***/
396 static FORCEINLINE HRESULT INetworkConnectionCost_QueryInterface(INetworkConnectionCost* This,REFIID riid,void **ppvObject) {
397     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
398 }
399 static FORCEINLINE ULONG INetworkConnectionCost_AddRef(INetworkConnectionCost* This) {
400     return This->lpVtbl->AddRef(This);
401 }
402 static FORCEINLINE ULONG INetworkConnectionCost_Release(INetworkConnectionCost* This) {
403     return This->lpVtbl->Release(This);
404 }
405 /*** INetworkConnectionCost methods ***/
406 static FORCEINLINE HRESULT INetworkConnectionCost_GetCost(INetworkConnectionCost* This,DWORD *pCost) {
407     return This->lpVtbl->GetCost(This,pCost);
408 }
409 static FORCEINLINE HRESULT INetworkConnectionCost_GetDataPlanStatus(INetworkConnectionCost* This,NLM_DATAPLAN_STATUS *pDataPlanStatus) {
410     return This->lpVtbl->GetDataPlanStatus(This,pDataPlanStatus);
411 }
412 #endif
413 #endif
414 
415 #endif
416 
417 
418 #endif  /* __INetworkConnectionCost_INTERFACE_DEFINED__ */
419 
420 /*****************************************************************************
421  * INetworkCostManagerEvents interface
422  */
423 #ifndef __INetworkCostManagerEvents_INTERFACE_DEFINED__
424 #define __INetworkCostManagerEvents_INTERFACE_DEFINED__
425 
426 DEFINE_GUID(IID_INetworkCostManagerEvents, 0xdcb00009, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
427 #if defined(__cplusplus) && !defined(CINTERFACE)
428 MIDL_INTERFACE("dcb00009-570f-4a9b-8d69-199fdba5723b")
429 INetworkCostManagerEvents : public IUnknown
430 {
431     virtual HRESULT STDMETHODCALLTYPE CostChanged(
432         DWORD newCost,
433         NLM_SOCKADDR *pDestAddr) = 0;
434 
435     virtual HRESULT STDMETHODCALLTYPE DataPlanStatusChanged(
436         NLM_SOCKADDR *pDestAddr) = 0;
437 
438 };
439 #ifdef __CRT_UUID_DECL
440 __CRT_UUID_DECL(INetworkCostManagerEvents, 0xdcb00009, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
441 #endif
442 #else
443 typedef struct INetworkCostManagerEventsVtbl {
444     BEGIN_INTERFACE
445 
446     /*** IUnknown methods ***/
447     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
448         INetworkCostManagerEvents *This,
449         REFIID riid,
450         void **ppvObject);
451 
452     ULONG (STDMETHODCALLTYPE *AddRef)(
453         INetworkCostManagerEvents *This);
454 
455     ULONG (STDMETHODCALLTYPE *Release)(
456         INetworkCostManagerEvents *This);
457 
458     /*** INetworkCostManagerEvents methods ***/
459     HRESULT (STDMETHODCALLTYPE *CostChanged)(
460         INetworkCostManagerEvents *This,
461         DWORD newCost,
462         NLM_SOCKADDR *pDestAddr);
463 
464     HRESULT (STDMETHODCALLTYPE *DataPlanStatusChanged)(
465         INetworkCostManagerEvents *This,
466         NLM_SOCKADDR *pDestAddr);
467 
468     END_INTERFACE
469 } INetworkCostManagerEventsVtbl;
470 
471 interface INetworkCostManagerEvents {
472     CONST_VTBL INetworkCostManagerEventsVtbl* lpVtbl;
473 };
474 
475 #ifdef COBJMACROS
476 #ifndef WIDL_C_INLINE_WRAPPERS
477 /*** IUnknown methods ***/
478 #define INetworkCostManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
479 #define INetworkCostManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
480 #define INetworkCostManagerEvents_Release(This) (This)->lpVtbl->Release(This)
481 /*** INetworkCostManagerEvents methods ***/
482 #define INetworkCostManagerEvents_CostChanged(This,newCost,pDestAddr) (This)->lpVtbl->CostChanged(This,newCost,pDestAddr)
483 #define INetworkCostManagerEvents_DataPlanStatusChanged(This,pDestAddr) (This)->lpVtbl->DataPlanStatusChanged(This,pDestAddr)
484 #else
485 /*** IUnknown methods ***/
486 static FORCEINLINE HRESULT INetworkCostManagerEvents_QueryInterface(INetworkCostManagerEvents* This,REFIID riid,void **ppvObject) {
487     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
488 }
489 static FORCEINLINE ULONG INetworkCostManagerEvents_AddRef(INetworkCostManagerEvents* This) {
490     return This->lpVtbl->AddRef(This);
491 }
492 static FORCEINLINE ULONG INetworkCostManagerEvents_Release(INetworkCostManagerEvents* This) {
493     return This->lpVtbl->Release(This);
494 }
495 /*** INetworkCostManagerEvents methods ***/
496 static FORCEINLINE HRESULT INetworkCostManagerEvents_CostChanged(INetworkCostManagerEvents* This,DWORD newCost,NLM_SOCKADDR *pDestAddr) {
497     return This->lpVtbl->CostChanged(This,newCost,pDestAddr);
498 }
499 static FORCEINLINE HRESULT INetworkCostManagerEvents_DataPlanStatusChanged(INetworkCostManagerEvents* This,NLM_SOCKADDR *pDestAddr) {
500     return This->lpVtbl->DataPlanStatusChanged(This,pDestAddr);
501 }
502 #endif
503 #endif
504 
505 #endif
506 
507 
508 #endif  /* __INetworkCostManagerEvents_INTERFACE_DEFINED__ */
509 
510 /*****************************************************************************
511  * IEnumNetworks interface
512  */
513 #ifndef __IEnumNetworks_INTERFACE_DEFINED__
514 #define __IEnumNetworks_INTERFACE_DEFINED__
515 
516 DEFINE_GUID(IID_IEnumNetworks, 0xdcb00003, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
517 #if defined(__cplusplus) && !defined(CINTERFACE)
518 MIDL_INTERFACE("dcb00003-570f-4a9b-8d69-199fdba5723b")
519 IEnumNetworks : public IDispatch
520 {
521     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
522         IEnumVARIANT **ppEnumVar) = 0;
523 
524     virtual HRESULT STDMETHODCALLTYPE Next(
525         ULONG celt,
526         INetwork **rgelt,
527         ULONG *pceltFetched) = 0;
528 
529     virtual HRESULT STDMETHODCALLTYPE Skip(
530         ULONG celt) = 0;
531 
532     virtual HRESULT STDMETHODCALLTYPE Reset(
533         ) = 0;
534 
535     virtual HRESULT STDMETHODCALLTYPE Clone(
536         IEnumNetworks **ppEnumNetwork) = 0;
537 
538 };
539 #ifdef __CRT_UUID_DECL
540 __CRT_UUID_DECL(IEnumNetworks, 0xdcb00003, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
541 #endif
542 #else
543 typedef struct IEnumNetworksVtbl {
544     BEGIN_INTERFACE
545 
546     /*** IUnknown methods ***/
547     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
548         IEnumNetworks *This,
549         REFIID riid,
550         void **ppvObject);
551 
552     ULONG (STDMETHODCALLTYPE *AddRef)(
553         IEnumNetworks *This);
554 
555     ULONG (STDMETHODCALLTYPE *Release)(
556         IEnumNetworks *This);
557 
558     /*** IDispatch methods ***/
559     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
560         IEnumNetworks *This,
561         UINT *pctinfo);
562 
563     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
564         IEnumNetworks *This,
565         UINT iTInfo,
566         LCID lcid,
567         ITypeInfo **ppTInfo);
568 
569     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
570         IEnumNetworks *This,
571         REFIID riid,
572         LPOLESTR *rgszNames,
573         UINT cNames,
574         LCID lcid,
575         DISPID *rgDispId);
576 
577     HRESULT (STDMETHODCALLTYPE *Invoke)(
578         IEnumNetworks *This,
579         DISPID dispIdMember,
580         REFIID riid,
581         LCID lcid,
582         WORD wFlags,
583         DISPPARAMS *pDispParams,
584         VARIANT *pVarResult,
585         EXCEPINFO *pExcepInfo,
586         UINT *puArgErr);
587 
588     /*** IEnumNetworks methods ***/
589     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
590         IEnumNetworks *This,
591         IEnumVARIANT **ppEnumVar);
592 
593     HRESULT (STDMETHODCALLTYPE *Next)(
594         IEnumNetworks *This,
595         ULONG celt,
596         INetwork **rgelt,
597         ULONG *pceltFetched);
598 
599     HRESULT (STDMETHODCALLTYPE *Skip)(
600         IEnumNetworks *This,
601         ULONG celt);
602 
603     HRESULT (STDMETHODCALLTYPE *Reset)(
604         IEnumNetworks *This);
605 
606     HRESULT (STDMETHODCALLTYPE *Clone)(
607         IEnumNetworks *This,
608         IEnumNetworks **ppEnumNetwork);
609 
610     END_INTERFACE
611 } IEnumNetworksVtbl;
612 
613 interface IEnumNetworks {
614     CONST_VTBL IEnumNetworksVtbl* lpVtbl;
615 };
616 
617 #ifdef COBJMACROS
618 #ifndef WIDL_C_INLINE_WRAPPERS
619 /*** IUnknown methods ***/
620 #define IEnumNetworks_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
621 #define IEnumNetworks_AddRef(This) (This)->lpVtbl->AddRef(This)
622 #define IEnumNetworks_Release(This) (This)->lpVtbl->Release(This)
623 /*** IDispatch methods ***/
624 #define IEnumNetworks_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
625 #define IEnumNetworks_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
626 #define IEnumNetworks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
627 #define IEnumNetworks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
628 /*** IEnumNetworks methods ***/
629 #define IEnumNetworks_get__NewEnum(This,ppEnumVar) (This)->lpVtbl->get__NewEnum(This,ppEnumVar)
630 #define IEnumNetworks_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
631 #define IEnumNetworks_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
632 #define IEnumNetworks_Reset(This) (This)->lpVtbl->Reset(This)
633 #define IEnumNetworks_Clone(This,ppEnumNetwork) (This)->lpVtbl->Clone(This,ppEnumNetwork)
634 #else
635 /*** IUnknown methods ***/
636 static FORCEINLINE HRESULT IEnumNetworks_QueryInterface(IEnumNetworks* This,REFIID riid,void **ppvObject) {
637     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
638 }
639 static FORCEINLINE ULONG IEnumNetworks_AddRef(IEnumNetworks* This) {
640     return This->lpVtbl->AddRef(This);
641 }
642 static FORCEINLINE ULONG IEnumNetworks_Release(IEnumNetworks* This) {
643     return This->lpVtbl->Release(This);
644 }
645 /*** IDispatch methods ***/
646 static FORCEINLINE HRESULT IEnumNetworks_GetTypeInfoCount(IEnumNetworks* This,UINT *pctinfo) {
647     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
648 }
649 static FORCEINLINE HRESULT IEnumNetworks_GetTypeInfo(IEnumNetworks* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
650     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
651 }
652 static FORCEINLINE HRESULT IEnumNetworks_GetIDsOfNames(IEnumNetworks* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
653     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
654 }
655 static FORCEINLINE HRESULT IEnumNetworks_Invoke(IEnumNetworks* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
656     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
657 }
658 /*** IEnumNetworks methods ***/
659 static FORCEINLINE HRESULT IEnumNetworks_get__NewEnum(IEnumNetworks* This,IEnumVARIANT **ppEnumVar) {
660     return This->lpVtbl->get__NewEnum(This,ppEnumVar);
661 }
662 static FORCEINLINE HRESULT IEnumNetworks_Next(IEnumNetworks* This,ULONG celt,INetwork **rgelt,ULONG *pceltFetched) {
663     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
664 }
665 static FORCEINLINE HRESULT IEnumNetworks_Skip(IEnumNetworks* This,ULONG celt) {
666     return This->lpVtbl->Skip(This,celt);
667 }
668 static FORCEINLINE HRESULT IEnumNetworks_Reset(IEnumNetworks* This) {
669     return This->lpVtbl->Reset(This);
670 }
671 static FORCEINLINE HRESULT IEnumNetworks_Clone(IEnumNetworks* This,IEnumNetworks **ppEnumNetwork) {
672     return This->lpVtbl->Clone(This,ppEnumNetwork);
673 }
674 #endif
675 #endif
676 
677 #endif
678 
679 
680 #endif  /* __IEnumNetworks_INTERFACE_DEFINED__ */
681 
682 /*****************************************************************************
683  * IEnumNetworkConnections interface
684  */
685 #ifndef __IEnumNetworkConnections_INTERFACE_DEFINED__
686 #define __IEnumNetworkConnections_INTERFACE_DEFINED__
687 
688 DEFINE_GUID(IID_IEnumNetworkConnections, 0xdcb00006, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
689 #if defined(__cplusplus) && !defined(CINTERFACE)
690 MIDL_INTERFACE("dcb00006-570f-4a9b-8d69-199fdba5723b")
691 IEnumNetworkConnections : public IDispatch
692 {
693     virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
694         IEnumVARIANT **ppEnumVar) = 0;
695 
696     virtual HRESULT STDMETHODCALLTYPE Next(
697         ULONG celt,
698         INetworkConnection **rgelt,
699         ULONG *pceltFetched) = 0;
700 
701     virtual HRESULT STDMETHODCALLTYPE Skip(
702         ULONG celt) = 0;
703 
704     virtual HRESULT STDMETHODCALLTYPE Reset(
705         ) = 0;
706 
707     virtual HRESULT STDMETHODCALLTYPE Clone(
708         IEnumNetworkConnections **ppEnumNetwork) = 0;
709 
710 };
711 #ifdef __CRT_UUID_DECL
712 __CRT_UUID_DECL(IEnumNetworkConnections, 0xdcb00006, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
713 #endif
714 #else
715 typedef struct IEnumNetworkConnectionsVtbl {
716     BEGIN_INTERFACE
717 
718     /*** IUnknown methods ***/
719     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
720         IEnumNetworkConnections *This,
721         REFIID riid,
722         void **ppvObject);
723 
724     ULONG (STDMETHODCALLTYPE *AddRef)(
725         IEnumNetworkConnections *This);
726 
727     ULONG (STDMETHODCALLTYPE *Release)(
728         IEnumNetworkConnections *This);
729 
730     /*** IDispatch methods ***/
731     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
732         IEnumNetworkConnections *This,
733         UINT *pctinfo);
734 
735     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
736         IEnumNetworkConnections *This,
737         UINT iTInfo,
738         LCID lcid,
739         ITypeInfo **ppTInfo);
740 
741     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
742         IEnumNetworkConnections *This,
743         REFIID riid,
744         LPOLESTR *rgszNames,
745         UINT cNames,
746         LCID lcid,
747         DISPID *rgDispId);
748 
749     HRESULT (STDMETHODCALLTYPE *Invoke)(
750         IEnumNetworkConnections *This,
751         DISPID dispIdMember,
752         REFIID riid,
753         LCID lcid,
754         WORD wFlags,
755         DISPPARAMS *pDispParams,
756         VARIANT *pVarResult,
757         EXCEPINFO *pExcepInfo,
758         UINT *puArgErr);
759 
760     /*** IEnumNetworkConnections methods ***/
761     HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
762         IEnumNetworkConnections *This,
763         IEnumVARIANT **ppEnumVar);
764 
765     HRESULT (STDMETHODCALLTYPE *Next)(
766         IEnumNetworkConnections *This,
767         ULONG celt,
768         INetworkConnection **rgelt,
769         ULONG *pceltFetched);
770 
771     HRESULT (STDMETHODCALLTYPE *Skip)(
772         IEnumNetworkConnections *This,
773         ULONG celt);
774 
775     HRESULT (STDMETHODCALLTYPE *Reset)(
776         IEnumNetworkConnections *This);
777 
778     HRESULT (STDMETHODCALLTYPE *Clone)(
779         IEnumNetworkConnections *This,
780         IEnumNetworkConnections **ppEnumNetwork);
781 
782     END_INTERFACE
783 } IEnumNetworkConnectionsVtbl;
784 
785 interface IEnumNetworkConnections {
786     CONST_VTBL IEnumNetworkConnectionsVtbl* lpVtbl;
787 };
788 
789 #ifdef COBJMACROS
790 #ifndef WIDL_C_INLINE_WRAPPERS
791 /*** IUnknown methods ***/
792 #define IEnumNetworkConnections_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
793 #define IEnumNetworkConnections_AddRef(This) (This)->lpVtbl->AddRef(This)
794 #define IEnumNetworkConnections_Release(This) (This)->lpVtbl->Release(This)
795 /*** IDispatch methods ***/
796 #define IEnumNetworkConnections_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
797 #define IEnumNetworkConnections_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
798 #define IEnumNetworkConnections_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
799 #define IEnumNetworkConnections_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
800 /*** IEnumNetworkConnections methods ***/
801 #define IEnumNetworkConnections_get__NewEnum(This,ppEnumVar) (This)->lpVtbl->get__NewEnum(This,ppEnumVar)
802 #define IEnumNetworkConnections_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
803 #define IEnumNetworkConnections_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
804 #define IEnumNetworkConnections_Reset(This) (This)->lpVtbl->Reset(This)
805 #define IEnumNetworkConnections_Clone(This,ppEnumNetwork) (This)->lpVtbl->Clone(This,ppEnumNetwork)
806 #else
807 /*** IUnknown methods ***/
808 static FORCEINLINE HRESULT IEnumNetworkConnections_QueryInterface(IEnumNetworkConnections* This,REFIID riid,void **ppvObject) {
809     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
810 }
811 static FORCEINLINE ULONG IEnumNetworkConnections_AddRef(IEnumNetworkConnections* This) {
812     return This->lpVtbl->AddRef(This);
813 }
814 static FORCEINLINE ULONG IEnumNetworkConnections_Release(IEnumNetworkConnections* This) {
815     return This->lpVtbl->Release(This);
816 }
817 /*** IDispatch methods ***/
818 static FORCEINLINE HRESULT IEnumNetworkConnections_GetTypeInfoCount(IEnumNetworkConnections* This,UINT *pctinfo) {
819     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
820 }
821 static FORCEINLINE HRESULT IEnumNetworkConnections_GetTypeInfo(IEnumNetworkConnections* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
822     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
823 }
824 static FORCEINLINE HRESULT IEnumNetworkConnections_GetIDsOfNames(IEnumNetworkConnections* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
825     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
826 }
827 static FORCEINLINE HRESULT IEnumNetworkConnections_Invoke(IEnumNetworkConnections* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
828     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
829 }
830 /*** IEnumNetworkConnections methods ***/
831 static FORCEINLINE HRESULT IEnumNetworkConnections_get__NewEnum(IEnumNetworkConnections* This,IEnumVARIANT **ppEnumVar) {
832     return This->lpVtbl->get__NewEnum(This,ppEnumVar);
833 }
834 static FORCEINLINE HRESULT IEnumNetworkConnections_Next(IEnumNetworkConnections* This,ULONG celt,INetworkConnection **rgelt,ULONG *pceltFetched) {
835     return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
836 }
837 static FORCEINLINE HRESULT IEnumNetworkConnections_Skip(IEnumNetworkConnections* This,ULONG celt) {
838     return This->lpVtbl->Skip(This,celt);
839 }
840 static FORCEINLINE HRESULT IEnumNetworkConnections_Reset(IEnumNetworkConnections* This) {
841     return This->lpVtbl->Reset(This);
842 }
843 static FORCEINLINE HRESULT IEnumNetworkConnections_Clone(IEnumNetworkConnections* This,IEnumNetworkConnections **ppEnumNetwork) {
844     return This->lpVtbl->Clone(This,ppEnumNetwork);
845 }
846 #endif
847 #endif
848 
849 #endif
850 
851 
852 #endif  /* __IEnumNetworkConnections_INTERFACE_DEFINED__ */
853 
854 /*****************************************************************************
855  * INetworkListManager interface
856  */
857 #ifndef __INetworkListManager_INTERFACE_DEFINED__
858 #define __INetworkListManager_INTERFACE_DEFINED__
859 
860 DEFINE_GUID(IID_INetworkListManager, 0xdcb00000, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
861 #if defined(__cplusplus) && !defined(CINTERFACE)
862 MIDL_INTERFACE("dcb00000-570f-4a9b-8d69-199fdba5723b")
863 INetworkListManager : public IDispatch
864 {
865     virtual HRESULT STDMETHODCALLTYPE GetNetworks(
866         NLM_ENUM_NETWORK Flags,
867         IEnumNetworks **ppEnumNetwork) = 0;
868 
869     virtual HRESULT STDMETHODCALLTYPE GetNetwork(
870         GUID gdNetworkId,
871         INetwork **ppNetwork) = 0;
872 
873     virtual HRESULT STDMETHODCALLTYPE GetNetworkConnections(
874         IEnumNetworkConnections **ppEnum) = 0;
875 
876     virtual HRESULT STDMETHODCALLTYPE GetNetworkConnection(
877         GUID gdNetworkConnectionId,
878         INetworkConnection **ppNetworkConnection) = 0;
879 
880     virtual HRESULT STDMETHODCALLTYPE IsConnectedToInternet(
881         VARIANT_BOOL *pbIsConnected) = 0;
882 
883     virtual HRESULT STDMETHODCALLTYPE IsConnected(
884         VARIANT_BOOL *pbIsConnected) = 0;
885 
886     virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
887         NLM_CONNECTIVITY *pConnectivity) = 0;
888 
889 };
890 #ifdef __CRT_UUID_DECL
891 __CRT_UUID_DECL(INetworkListManager, 0xdcb00000, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
892 #endif
893 #else
894 typedef struct INetworkListManagerVtbl {
895     BEGIN_INTERFACE
896 
897     /*** IUnknown methods ***/
898     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
899         INetworkListManager *This,
900         REFIID riid,
901         void **ppvObject);
902 
903     ULONG (STDMETHODCALLTYPE *AddRef)(
904         INetworkListManager *This);
905 
906     ULONG (STDMETHODCALLTYPE *Release)(
907         INetworkListManager *This);
908 
909     /*** IDispatch methods ***/
910     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
911         INetworkListManager *This,
912         UINT *pctinfo);
913 
914     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
915         INetworkListManager *This,
916         UINT iTInfo,
917         LCID lcid,
918         ITypeInfo **ppTInfo);
919 
920     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
921         INetworkListManager *This,
922         REFIID riid,
923         LPOLESTR *rgszNames,
924         UINT cNames,
925         LCID lcid,
926         DISPID *rgDispId);
927 
928     HRESULT (STDMETHODCALLTYPE *Invoke)(
929         INetworkListManager *This,
930         DISPID dispIdMember,
931         REFIID riid,
932         LCID lcid,
933         WORD wFlags,
934         DISPPARAMS *pDispParams,
935         VARIANT *pVarResult,
936         EXCEPINFO *pExcepInfo,
937         UINT *puArgErr);
938 
939     /*** INetworkListManager methods ***/
940     HRESULT (STDMETHODCALLTYPE *GetNetworks)(
941         INetworkListManager *This,
942         NLM_ENUM_NETWORK Flags,
943         IEnumNetworks **ppEnumNetwork);
944 
945     HRESULT (STDMETHODCALLTYPE *GetNetwork)(
946         INetworkListManager *This,
947         GUID gdNetworkId,
948         INetwork **ppNetwork);
949 
950     HRESULT (STDMETHODCALLTYPE *GetNetworkConnections)(
951         INetworkListManager *This,
952         IEnumNetworkConnections **ppEnum);
953 
954     HRESULT (STDMETHODCALLTYPE *GetNetworkConnection)(
955         INetworkListManager *This,
956         GUID gdNetworkConnectionId,
957         INetworkConnection **ppNetworkConnection);
958 
959     HRESULT (STDMETHODCALLTYPE *IsConnectedToInternet)(
960         INetworkListManager *This,
961         VARIANT_BOOL *pbIsConnected);
962 
963     HRESULT (STDMETHODCALLTYPE *IsConnected)(
964         INetworkListManager *This,
965         VARIANT_BOOL *pbIsConnected);
966 
967     HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
968         INetworkListManager *This,
969         NLM_CONNECTIVITY *pConnectivity);
970 
971     END_INTERFACE
972 } INetworkListManagerVtbl;
973 
974 interface INetworkListManager {
975     CONST_VTBL INetworkListManagerVtbl* lpVtbl;
976 };
977 
978 #ifdef COBJMACROS
979 #ifndef WIDL_C_INLINE_WRAPPERS
980 /*** IUnknown methods ***/
981 #define INetworkListManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
982 #define INetworkListManager_AddRef(This) (This)->lpVtbl->AddRef(This)
983 #define INetworkListManager_Release(This) (This)->lpVtbl->Release(This)
984 /*** IDispatch methods ***/
985 #define INetworkListManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
986 #define INetworkListManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
987 #define INetworkListManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
988 #define INetworkListManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
989 /*** INetworkListManager methods ***/
990 #define INetworkListManager_GetNetworks(This,Flags,ppEnumNetwork) (This)->lpVtbl->GetNetworks(This,Flags,ppEnumNetwork)
991 #define INetworkListManager_GetNetwork(This,gdNetworkId,ppNetwork) (This)->lpVtbl->GetNetwork(This,gdNetworkId,ppNetwork)
992 #define INetworkListManager_GetNetworkConnections(This,ppEnum) (This)->lpVtbl->GetNetworkConnections(This,ppEnum)
993 #define INetworkListManager_GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection) (This)->lpVtbl->GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection)
994 #define INetworkListManager_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->IsConnectedToInternet(This,pbIsConnected)
995 #define INetworkListManager_IsConnected(This,pbIsConnected) (This)->lpVtbl->IsConnected(This,pbIsConnected)
996 #define INetworkListManager_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
997 #else
998 /*** IUnknown methods ***/
999 static FORCEINLINE HRESULT INetworkListManager_QueryInterface(INetworkListManager* This,REFIID riid,void **ppvObject) {
1000     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1001 }
1002 static FORCEINLINE ULONG INetworkListManager_AddRef(INetworkListManager* This) {
1003     return This->lpVtbl->AddRef(This);
1004 }
1005 static FORCEINLINE ULONG INetworkListManager_Release(INetworkListManager* This) {
1006     return This->lpVtbl->Release(This);
1007 }
1008 /*** IDispatch methods ***/
1009 static FORCEINLINE HRESULT INetworkListManager_GetTypeInfoCount(INetworkListManager* This,UINT *pctinfo) {
1010     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1011 }
1012 static FORCEINLINE HRESULT INetworkListManager_GetTypeInfo(INetworkListManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1013     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1014 }
1015 static FORCEINLINE HRESULT INetworkListManager_GetIDsOfNames(INetworkListManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1016     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1017 }
1018 static FORCEINLINE HRESULT INetworkListManager_Invoke(INetworkListManager* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1019     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1020 }
1021 /*** INetworkListManager methods ***/
1022 static FORCEINLINE HRESULT INetworkListManager_GetNetworks(INetworkListManager* This,NLM_ENUM_NETWORK Flags,IEnumNetworks **ppEnumNetwork) {
1023     return This->lpVtbl->GetNetworks(This,Flags,ppEnumNetwork);
1024 }
1025 static FORCEINLINE HRESULT INetworkListManager_GetNetwork(INetworkListManager* This,GUID gdNetworkId,INetwork **ppNetwork) {
1026     return This->lpVtbl->GetNetwork(This,gdNetworkId,ppNetwork);
1027 }
1028 static FORCEINLINE HRESULT INetworkListManager_GetNetworkConnections(INetworkListManager* This,IEnumNetworkConnections **ppEnum) {
1029     return This->lpVtbl->GetNetworkConnections(This,ppEnum);
1030 }
1031 static FORCEINLINE HRESULT INetworkListManager_GetNetworkConnection(INetworkListManager* This,GUID gdNetworkConnectionId,INetworkConnection **ppNetworkConnection) {
1032     return This->lpVtbl->GetNetworkConnection(This,gdNetworkConnectionId,ppNetworkConnection);
1033 }
1034 static FORCEINLINE HRESULT INetworkListManager_IsConnectedToInternet(INetworkListManager* This,VARIANT_BOOL *pbIsConnected) {
1035     return This->lpVtbl->IsConnectedToInternet(This,pbIsConnected);
1036 }
1037 static FORCEINLINE HRESULT INetworkListManager_IsConnected(INetworkListManager* This,VARIANT_BOOL *pbIsConnected) {
1038     return This->lpVtbl->IsConnected(This,pbIsConnected);
1039 }
1040 static FORCEINLINE HRESULT INetworkListManager_GetConnectivity(INetworkListManager* This,NLM_CONNECTIVITY *pConnectivity) {
1041     return This->lpVtbl->GetConnectivity(This,pConnectivity);
1042 }
1043 #endif
1044 #endif
1045 
1046 #endif
1047 
1048 
1049 #endif  /* __INetworkListManager_INTERFACE_DEFINED__ */
1050 
1051 /*****************************************************************************
1052  * NetworkListManager coclass
1053  */
1054 
1055 DEFINE_GUID(CLSID_NetworkListManager, 0xdcb00c01, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
1056 
1057 #ifdef __cplusplus
1058 class DECLSPEC_UUID("dcb00c01-570f-4a9b-8d69-199fdba5723b") NetworkListManager;
1059 #ifdef __CRT_UUID_DECL
1060 __CRT_UUID_DECL(NetworkListManager, 0xdcb00c01, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
1061 #endif
1062 #endif
1063 
1064 /*****************************************************************************
1065  * INetworkListManagerEvents interface
1066  */
1067 #ifndef __INetworkListManagerEvents_INTERFACE_DEFINED__
1068 #define __INetworkListManagerEvents_INTERFACE_DEFINED__
1069 
1070 DEFINE_GUID(IID_INetworkListManagerEvents, 0xdcb00001, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
1071 #if defined(__cplusplus) && !defined(CINTERFACE)
1072 MIDL_INTERFACE("dcb00001-570f-4a9b-8d69-199fdba5723b")
1073 INetworkListManagerEvents : public IUnknown
1074 {
1075     virtual HRESULT STDMETHODCALLTYPE ConnectivityChanged(
1076         NLM_CONNECTIVITY newConnectivity) = 0;
1077 
1078 };
1079 #ifdef __CRT_UUID_DECL
1080 __CRT_UUID_DECL(INetworkListManagerEvents, 0xdcb00001, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
1081 #endif
1082 #else
1083 typedef struct INetworkListManagerEventsVtbl {
1084     BEGIN_INTERFACE
1085 
1086     /*** IUnknown methods ***/
1087     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1088         INetworkListManagerEvents *This,
1089         REFIID riid,
1090         void **ppvObject);
1091 
1092     ULONG (STDMETHODCALLTYPE *AddRef)(
1093         INetworkListManagerEvents *This);
1094 
1095     ULONG (STDMETHODCALLTYPE *Release)(
1096         INetworkListManagerEvents *This);
1097 
1098     /*** INetworkListManagerEvents methods ***/
1099     HRESULT (STDMETHODCALLTYPE *ConnectivityChanged)(
1100         INetworkListManagerEvents *This,
1101         NLM_CONNECTIVITY newConnectivity);
1102 
1103     END_INTERFACE
1104 } INetworkListManagerEventsVtbl;
1105 
1106 interface INetworkListManagerEvents {
1107     CONST_VTBL INetworkListManagerEventsVtbl* lpVtbl;
1108 };
1109 
1110 #ifdef COBJMACROS
1111 #ifndef WIDL_C_INLINE_WRAPPERS
1112 /*** IUnknown methods ***/
1113 #define INetworkListManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1114 #define INetworkListManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
1115 #define INetworkListManagerEvents_Release(This) (This)->lpVtbl->Release(This)
1116 /*** INetworkListManagerEvents methods ***/
1117 #define INetworkListManagerEvents_ConnectivityChanged(This,newConnectivity) (This)->lpVtbl->ConnectivityChanged(This,newConnectivity)
1118 #else
1119 /*** IUnknown methods ***/
1120 static FORCEINLINE HRESULT INetworkListManagerEvents_QueryInterface(INetworkListManagerEvents* This,REFIID riid,void **ppvObject) {
1121     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1122 }
1123 static FORCEINLINE ULONG INetworkListManagerEvents_AddRef(INetworkListManagerEvents* This) {
1124     return This->lpVtbl->AddRef(This);
1125 }
1126 static FORCEINLINE ULONG INetworkListManagerEvents_Release(INetworkListManagerEvents* This) {
1127     return This->lpVtbl->Release(This);
1128 }
1129 /*** INetworkListManagerEvents methods ***/
1130 static FORCEINLINE HRESULT INetworkListManagerEvents_ConnectivityChanged(INetworkListManagerEvents* This,NLM_CONNECTIVITY newConnectivity) {
1131     return This->lpVtbl->ConnectivityChanged(This,newConnectivity);
1132 }
1133 #endif
1134 #endif
1135 
1136 #endif
1137 
1138 
1139 #endif  /* __INetworkListManagerEvents_INTERFACE_DEFINED__ */
1140 
1141 /*****************************************************************************
1142  * INetworkConnectionEvents interface
1143  */
1144 #ifndef __INetworkConnectionEvents_INTERFACE_DEFINED__
1145 #define __INetworkConnectionEvents_INTERFACE_DEFINED__
1146 
1147 typedef enum NLM_CONNECTION_PROPERTY_CHANGE {
1148     NLM_CONNECTION_PROPERTY_CHANGE_AUTHENTICATION = 1
1149 } NLM_CONNECTION_PROPERTY_CHANGE;
1150 DEFINE_GUID(IID_INetworkConnectionEvents, 0xdcb00007, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
1151 #if defined(__cplusplus) && !defined(CINTERFACE)
1152 MIDL_INTERFACE("dcb00007-570f-4a9b-8d69-199fdba5723b")
1153 INetworkConnectionEvents : public IUnknown
1154 {
1155     virtual HRESULT STDMETHODCALLTYPE NetworkConnectionConnectivityChanged(
1156         GUID connectionId,
1157         NLM_CONNECTIVITY newConnectivity) = 0;
1158 
1159     virtual HRESULT STDMETHODCALLTYPE NetworkConnectionPropertyChanged(
1160         GUID connectionId,
1161         NLM_CONNECTION_PROPERTY_CHANGE flags) = 0;
1162 
1163 };
1164 #ifdef __CRT_UUID_DECL
1165 __CRT_UUID_DECL(INetworkConnectionEvents, 0xdcb00007, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
1166 #endif
1167 #else
1168 typedef struct INetworkConnectionEventsVtbl {
1169     BEGIN_INTERFACE
1170 
1171     /*** IUnknown methods ***/
1172     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1173         INetworkConnectionEvents *This,
1174         REFIID riid,
1175         void **ppvObject);
1176 
1177     ULONG (STDMETHODCALLTYPE *AddRef)(
1178         INetworkConnectionEvents *This);
1179 
1180     ULONG (STDMETHODCALLTYPE *Release)(
1181         INetworkConnectionEvents *This);
1182 
1183     /*** INetworkConnectionEvents methods ***/
1184     HRESULT (STDMETHODCALLTYPE *NetworkConnectionConnectivityChanged)(
1185         INetworkConnectionEvents *This,
1186         GUID connectionId,
1187         NLM_CONNECTIVITY newConnectivity);
1188 
1189     HRESULT (STDMETHODCALLTYPE *NetworkConnectionPropertyChanged)(
1190         INetworkConnectionEvents *This,
1191         GUID connectionId,
1192         NLM_CONNECTION_PROPERTY_CHANGE flags);
1193 
1194     END_INTERFACE
1195 } INetworkConnectionEventsVtbl;
1196 
1197 interface INetworkConnectionEvents {
1198     CONST_VTBL INetworkConnectionEventsVtbl* lpVtbl;
1199 };
1200 
1201 #ifdef COBJMACROS
1202 #ifndef WIDL_C_INLINE_WRAPPERS
1203 /*** IUnknown methods ***/
1204 #define INetworkConnectionEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1205 #define INetworkConnectionEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
1206 #define INetworkConnectionEvents_Release(This) (This)->lpVtbl->Release(This)
1207 /*** INetworkConnectionEvents methods ***/
1208 #define INetworkConnectionEvents_NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity) (This)->lpVtbl->NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity)
1209 #define INetworkConnectionEvents_NetworkConnectionPropertyChanged(This,connectionId,flags) (This)->lpVtbl->NetworkConnectionPropertyChanged(This,connectionId,flags)
1210 #else
1211 /*** IUnknown methods ***/
1212 static FORCEINLINE HRESULT INetworkConnectionEvents_QueryInterface(INetworkConnectionEvents* This,REFIID riid,void **ppvObject) {
1213     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1214 }
1215 static FORCEINLINE ULONG INetworkConnectionEvents_AddRef(INetworkConnectionEvents* This) {
1216     return This->lpVtbl->AddRef(This);
1217 }
1218 static FORCEINLINE ULONG INetworkConnectionEvents_Release(INetworkConnectionEvents* This) {
1219     return This->lpVtbl->Release(This);
1220 }
1221 /*** INetworkConnectionEvents methods ***/
1222 static FORCEINLINE HRESULT INetworkConnectionEvents_NetworkConnectionConnectivityChanged(INetworkConnectionEvents* This,GUID connectionId,NLM_CONNECTIVITY newConnectivity) {
1223     return This->lpVtbl->NetworkConnectionConnectivityChanged(This,connectionId,newConnectivity);
1224 }
1225 static FORCEINLINE HRESULT INetworkConnectionEvents_NetworkConnectionPropertyChanged(INetworkConnectionEvents* This,GUID connectionId,NLM_CONNECTION_PROPERTY_CHANGE flags) {
1226     return This->lpVtbl->NetworkConnectionPropertyChanged(This,connectionId,flags);
1227 }
1228 #endif
1229 #endif
1230 
1231 #endif
1232 
1233 
1234 #endif  /* __INetworkConnectionEvents_INTERFACE_DEFINED__ */
1235 
1236 /*****************************************************************************
1237  * INetworkConnection interface
1238  */
1239 #ifndef __INetworkConnection_INTERFACE_DEFINED__
1240 #define __INetworkConnection_INTERFACE_DEFINED__
1241 
1242 DEFINE_GUID(IID_INetworkConnection, 0xdcb00005, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
1243 #if defined(__cplusplus) && !defined(CINTERFACE)
1244 MIDL_INTERFACE("dcb00005-570f-4a9b-8d69-199fdba5723b")
1245 INetworkConnection : public IDispatch
1246 {
1247     virtual HRESULT STDMETHODCALLTYPE GetNetwork(
1248         INetwork **ppNetwork) = 0;
1249 
1250     virtual HRESULT STDMETHODCALLTYPE get_IsConnectedToInternet(
1251         VARIANT_BOOL *pbIsConnected) = 0;
1252 
1253     virtual HRESULT STDMETHODCALLTYPE get_IsConnected(
1254         VARIANT_BOOL *pbIsConnected) = 0;
1255 
1256     virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
1257         NLM_CONNECTIVITY *pConnectivity) = 0;
1258 
1259     virtual HRESULT STDMETHODCALLTYPE GetConnectionId(
1260         GUID *pgdConnectionId) = 0;
1261 
1262     virtual HRESULT STDMETHODCALLTYPE GetAdapterId(
1263         GUID *pgdAdapterId) = 0;
1264 
1265     virtual HRESULT STDMETHODCALLTYPE GetDomainType(
1266         NLM_DOMAIN_TYPE *pDomainType) = 0;
1267 
1268 };
1269 #ifdef __CRT_UUID_DECL
1270 __CRT_UUID_DECL(INetworkConnection, 0xdcb00005, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
1271 #endif
1272 #else
1273 typedef struct INetworkConnectionVtbl {
1274     BEGIN_INTERFACE
1275 
1276     /*** IUnknown methods ***/
1277     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1278         INetworkConnection *This,
1279         REFIID riid,
1280         void **ppvObject);
1281 
1282     ULONG (STDMETHODCALLTYPE *AddRef)(
1283         INetworkConnection *This);
1284 
1285     ULONG (STDMETHODCALLTYPE *Release)(
1286         INetworkConnection *This);
1287 
1288     /*** IDispatch methods ***/
1289     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1290         INetworkConnection *This,
1291         UINT *pctinfo);
1292 
1293     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1294         INetworkConnection *This,
1295         UINT iTInfo,
1296         LCID lcid,
1297         ITypeInfo **ppTInfo);
1298 
1299     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1300         INetworkConnection *This,
1301         REFIID riid,
1302         LPOLESTR *rgszNames,
1303         UINT cNames,
1304         LCID lcid,
1305         DISPID *rgDispId);
1306 
1307     HRESULT (STDMETHODCALLTYPE *Invoke)(
1308         INetworkConnection *This,
1309         DISPID dispIdMember,
1310         REFIID riid,
1311         LCID lcid,
1312         WORD wFlags,
1313         DISPPARAMS *pDispParams,
1314         VARIANT *pVarResult,
1315         EXCEPINFO *pExcepInfo,
1316         UINT *puArgErr);
1317 
1318     /*** INetworkConnection methods ***/
1319     HRESULT (STDMETHODCALLTYPE *GetNetwork)(
1320         INetworkConnection *This,
1321         INetwork **ppNetwork);
1322 
1323     HRESULT (STDMETHODCALLTYPE *get_IsConnectedToInternet)(
1324         INetworkConnection *This,
1325         VARIANT_BOOL *pbIsConnected);
1326 
1327     HRESULT (STDMETHODCALLTYPE *get_IsConnected)(
1328         INetworkConnection *This,
1329         VARIANT_BOOL *pbIsConnected);
1330 
1331     HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
1332         INetworkConnection *This,
1333         NLM_CONNECTIVITY *pConnectivity);
1334 
1335     HRESULT (STDMETHODCALLTYPE *GetConnectionId)(
1336         INetworkConnection *This,
1337         GUID *pgdConnectionId);
1338 
1339     HRESULT (STDMETHODCALLTYPE *GetAdapterId)(
1340         INetworkConnection *This,
1341         GUID *pgdAdapterId);
1342 
1343     HRESULT (STDMETHODCALLTYPE *GetDomainType)(
1344         INetworkConnection *This,
1345         NLM_DOMAIN_TYPE *pDomainType);
1346 
1347     END_INTERFACE
1348 } INetworkConnectionVtbl;
1349 
1350 interface INetworkConnection {
1351     CONST_VTBL INetworkConnectionVtbl* lpVtbl;
1352 };
1353 
1354 #ifdef COBJMACROS
1355 #ifndef WIDL_C_INLINE_WRAPPERS
1356 /*** IUnknown methods ***/
1357 #define INetworkConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1358 #define INetworkConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
1359 #define INetworkConnection_Release(This) (This)->lpVtbl->Release(This)
1360 /*** IDispatch methods ***/
1361 #define INetworkConnection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1362 #define INetworkConnection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1363 #define INetworkConnection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1364 #define INetworkConnection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1365 /*** INetworkConnection methods ***/
1366 #define INetworkConnection_GetNetwork(This,ppNetwork) (This)->lpVtbl->GetNetwork(This,ppNetwork)
1367 #define INetworkConnection_get_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected)
1368 #define INetworkConnection_get_IsConnected(This,pbIsConnected) (This)->lpVtbl->get_IsConnected(This,pbIsConnected)
1369 #define INetworkConnection_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
1370 #define INetworkConnection_GetConnectionId(This,pgdConnectionId) (This)->lpVtbl->GetConnectionId(This,pgdConnectionId)
1371 #define INetworkConnection_GetAdapterId(This,pgdAdapterId) (This)->lpVtbl->GetAdapterId(This,pgdAdapterId)
1372 #define INetworkConnection_GetDomainType(This,pDomainType) (This)->lpVtbl->GetDomainType(This,pDomainType)
1373 #else
1374 /*** IUnknown methods ***/
1375 static FORCEINLINE HRESULT INetworkConnection_QueryInterface(INetworkConnection* This,REFIID riid,void **ppvObject) {
1376     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1377 }
1378 static FORCEINLINE ULONG INetworkConnection_AddRef(INetworkConnection* This) {
1379     return This->lpVtbl->AddRef(This);
1380 }
1381 static FORCEINLINE ULONG INetworkConnection_Release(INetworkConnection* This) {
1382     return This->lpVtbl->Release(This);
1383 }
1384 /*** IDispatch methods ***/
1385 static FORCEINLINE HRESULT INetworkConnection_GetTypeInfoCount(INetworkConnection* This,UINT *pctinfo) {
1386     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1387 }
1388 static FORCEINLINE HRESULT INetworkConnection_GetTypeInfo(INetworkConnection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1389     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1390 }
1391 static FORCEINLINE HRESULT INetworkConnection_GetIDsOfNames(INetworkConnection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1392     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1393 }
1394 static FORCEINLINE HRESULT INetworkConnection_Invoke(INetworkConnection* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1395     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1396 }
1397 /*** INetworkConnection methods ***/
1398 static FORCEINLINE HRESULT INetworkConnection_GetNetwork(INetworkConnection* This,INetwork **ppNetwork) {
1399     return This->lpVtbl->GetNetwork(This,ppNetwork);
1400 }
1401 static FORCEINLINE HRESULT INetworkConnection_get_IsConnectedToInternet(INetworkConnection* This,VARIANT_BOOL *pbIsConnected) {
1402     return This->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected);
1403 }
1404 static FORCEINLINE HRESULT INetworkConnection_get_IsConnected(INetworkConnection* This,VARIANT_BOOL *pbIsConnected) {
1405     return This->lpVtbl->get_IsConnected(This,pbIsConnected);
1406 }
1407 static FORCEINLINE HRESULT INetworkConnection_GetConnectivity(INetworkConnection* This,NLM_CONNECTIVITY *pConnectivity) {
1408     return This->lpVtbl->GetConnectivity(This,pConnectivity);
1409 }
1410 static FORCEINLINE HRESULT INetworkConnection_GetConnectionId(INetworkConnection* This,GUID *pgdConnectionId) {
1411     return This->lpVtbl->GetConnectionId(This,pgdConnectionId);
1412 }
1413 static FORCEINLINE HRESULT INetworkConnection_GetAdapterId(INetworkConnection* This,GUID *pgdAdapterId) {
1414     return This->lpVtbl->GetAdapterId(This,pgdAdapterId);
1415 }
1416 static FORCEINLINE HRESULT INetworkConnection_GetDomainType(INetworkConnection* This,NLM_DOMAIN_TYPE *pDomainType) {
1417     return This->lpVtbl->GetDomainType(This,pDomainType);
1418 }
1419 #endif
1420 #endif
1421 
1422 #endif
1423 
1424 
1425 #endif  /* __INetworkConnection_INTERFACE_DEFINED__ */
1426 
1427 /*****************************************************************************
1428  * INetwork interface
1429  */
1430 #ifndef __INetwork_INTERFACE_DEFINED__
1431 #define __INetwork_INTERFACE_DEFINED__
1432 
1433 typedef enum NLM_NETWORK_CATEGORY {
1434     NLM_NETWORK_CATEGORY_PUBLIC = 0x0,
1435     NLM_NETWORK_CATEGORY_PRIVATE = 0x1,
1436     NLM_NETWORK_CATEGORY_DOMAIN_AUTHENTICATED = 0x2
1437 } NLM_NETWORK_CATEGORY;
1438 DEFINE_GUID(IID_INetwork, 0xdcb00002, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b);
1439 #if defined(__cplusplus) && !defined(CINTERFACE)
1440 MIDL_INTERFACE("dcb00002-570f-4a9b-8d69-199fdba5723b")
1441 INetwork : public IDispatch
1442 {
1443     virtual HRESULT STDMETHODCALLTYPE GetName(
1444         BSTR *pszNetworkName) = 0;
1445 
1446     virtual HRESULT STDMETHODCALLTYPE SetName(
1447         BSTR szNetworkNewName) = 0;
1448 
1449     virtual HRESULT STDMETHODCALLTYPE GetDescription(
1450         BSTR *pszDescription) = 0;
1451 
1452     virtual HRESULT STDMETHODCALLTYPE SetDescription(
1453         BSTR szDescription) = 0;
1454 
1455     virtual HRESULT STDMETHODCALLTYPE GetNetworkId(
1456         GUID *pgdGuidNetworkId) = 0;
1457 
1458     virtual HRESULT STDMETHODCALLTYPE GetDomainType(
1459         NLM_DOMAIN_TYPE *pNetworkType) = 0;
1460 
1461     virtual HRESULT STDMETHODCALLTYPE GetNetworkConnections(
1462         IEnumNetworkConnections **ppEnumNetworkConnection) = 0;
1463 
1464     virtual HRESULT STDMETHODCALLTYPE GetTimeCreatedAndConnected(
1465         DWORD *pdwLowDateTimeCreated,
1466         DWORD *pdwHighDateTimeCreated,
1467         DWORD *pdwLowDateTimeConnected,
1468         DWORD *pdwHighDateTimeConnected) = 0;
1469 
1470     virtual HRESULT STDMETHODCALLTYPE get_IsConnectedToInternet(
1471         VARIANT_BOOL *pbIsConnected) = 0;
1472 
1473     virtual HRESULT STDMETHODCALLTYPE get_IsConnected(
1474         VARIANT_BOOL *pbIsConnected) = 0;
1475 
1476     virtual HRESULT STDMETHODCALLTYPE GetConnectivity(
1477         NLM_CONNECTIVITY *pConnectivity) = 0;
1478 
1479     virtual HRESULT STDMETHODCALLTYPE GetCategory(
1480         NLM_NETWORK_CATEGORY *pCategory) = 0;
1481 
1482     virtual HRESULT STDMETHODCALLTYPE SetCategory(
1483         NLM_NETWORK_CATEGORY NewCategory) = 0;
1484 
1485 };
1486 #ifdef __CRT_UUID_DECL
1487 __CRT_UUID_DECL(INetwork, 0xdcb00002, 0x570f, 0x4a9b, 0x8d,0x69, 0x19,0x9f,0xdb,0xa5,0x72,0x3b)
1488 #endif
1489 #else
1490 typedef struct INetworkVtbl {
1491     BEGIN_INTERFACE
1492 
1493     /*** IUnknown methods ***/
1494     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1495         INetwork *This,
1496         REFIID riid,
1497         void **ppvObject);
1498 
1499     ULONG (STDMETHODCALLTYPE *AddRef)(
1500         INetwork *This);
1501 
1502     ULONG (STDMETHODCALLTYPE *Release)(
1503         INetwork *This);
1504 
1505     /*** IDispatch methods ***/
1506     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1507         INetwork *This,
1508         UINT *pctinfo);
1509 
1510     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1511         INetwork *This,
1512         UINT iTInfo,
1513         LCID lcid,
1514         ITypeInfo **ppTInfo);
1515 
1516     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1517         INetwork *This,
1518         REFIID riid,
1519         LPOLESTR *rgszNames,
1520         UINT cNames,
1521         LCID lcid,
1522         DISPID *rgDispId);
1523 
1524     HRESULT (STDMETHODCALLTYPE *Invoke)(
1525         INetwork *This,
1526         DISPID dispIdMember,
1527         REFIID riid,
1528         LCID lcid,
1529         WORD wFlags,
1530         DISPPARAMS *pDispParams,
1531         VARIANT *pVarResult,
1532         EXCEPINFO *pExcepInfo,
1533         UINT *puArgErr);
1534 
1535     /*** INetwork methods ***/
1536     HRESULT (STDMETHODCALLTYPE *GetName)(
1537         INetwork *This,
1538         BSTR *pszNetworkName);
1539 
1540     HRESULT (STDMETHODCALLTYPE *SetName)(
1541         INetwork *This,
1542         BSTR szNetworkNewName);
1543 
1544     HRESULT (STDMETHODCALLTYPE *GetDescription)(
1545         INetwork *This,
1546         BSTR *pszDescription);
1547 
1548     HRESULT (STDMETHODCALLTYPE *SetDescription)(
1549         INetwork *This,
1550         BSTR szDescription);
1551 
1552     HRESULT (STDMETHODCALLTYPE *GetNetworkId)(
1553         INetwork *This,
1554         GUID *pgdGuidNetworkId);
1555 
1556     HRESULT (STDMETHODCALLTYPE *GetDomainType)(
1557         INetwork *This,
1558         NLM_DOMAIN_TYPE *pNetworkType);
1559 
1560     HRESULT (STDMETHODCALLTYPE *GetNetworkConnections)(
1561         INetwork *This,
1562         IEnumNetworkConnections **ppEnumNetworkConnection);
1563 
1564     HRESULT (STDMETHODCALLTYPE *GetTimeCreatedAndConnected)(
1565         INetwork *This,
1566         DWORD *pdwLowDateTimeCreated,
1567         DWORD *pdwHighDateTimeCreated,
1568         DWORD *pdwLowDateTimeConnected,
1569         DWORD *pdwHighDateTimeConnected);
1570 
1571     HRESULT (STDMETHODCALLTYPE *get_IsConnectedToInternet)(
1572         INetwork *This,
1573         VARIANT_BOOL *pbIsConnected);
1574 
1575     HRESULT (STDMETHODCALLTYPE *get_IsConnected)(
1576         INetwork *This,
1577         VARIANT_BOOL *pbIsConnected);
1578 
1579     HRESULT (STDMETHODCALLTYPE *GetConnectivity)(
1580         INetwork *This,
1581         NLM_CONNECTIVITY *pConnectivity);
1582 
1583     HRESULT (STDMETHODCALLTYPE *GetCategory)(
1584         INetwork *This,
1585         NLM_NETWORK_CATEGORY *pCategory);
1586 
1587     HRESULT (STDMETHODCALLTYPE *SetCategory)(
1588         INetwork *This,
1589         NLM_NETWORK_CATEGORY NewCategory);
1590 
1591     END_INTERFACE
1592 } INetworkVtbl;
1593 
1594 interface INetwork {
1595     CONST_VTBL INetworkVtbl* lpVtbl;
1596 };
1597 
1598 #ifdef COBJMACROS
1599 #ifndef WIDL_C_INLINE_WRAPPERS
1600 /*** IUnknown methods ***/
1601 #define INetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1602 #define INetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
1603 #define INetwork_Release(This) (This)->lpVtbl->Release(This)
1604 /*** IDispatch methods ***/
1605 #define INetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1606 #define INetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1607 #define INetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1608 #define INetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1609 /*** INetwork methods ***/
1610 #define INetwork_GetName(This,pszNetworkName) (This)->lpVtbl->GetName(This,pszNetworkName)
1611 #define INetwork_SetName(This,szNetworkNewName) (This)->lpVtbl->SetName(This,szNetworkNewName)
1612 #define INetwork_GetDescription(This,pszDescription) (This)->lpVtbl->GetDescription(This,pszDescription)
1613 #define INetwork_SetDescription(This,szDescription) (This)->lpVtbl->SetDescription(This,szDescription)
1614 #define INetwork_GetNetworkId(This,pgdGuidNetworkId) (This)->lpVtbl->GetNetworkId(This,pgdGuidNetworkId)
1615 #define INetwork_GetDomainType(This,pNetworkType) (This)->lpVtbl->GetDomainType(This,pNetworkType)
1616 #define INetwork_GetNetworkConnections(This,ppEnumNetworkConnection) (This)->lpVtbl->GetNetworkConnections(This,ppEnumNetworkConnection)
1617 #define INetwork_GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected) (This)->lpVtbl->GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected)
1618 #define INetwork_get_IsConnectedToInternet(This,pbIsConnected) (This)->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected)
1619 #define INetwork_get_IsConnected(This,pbIsConnected) (This)->lpVtbl->get_IsConnected(This,pbIsConnected)
1620 #define INetwork_GetConnectivity(This,pConnectivity) (This)->lpVtbl->GetConnectivity(This,pConnectivity)
1621 #define INetwork_GetCategory(This,pCategory) (This)->lpVtbl->GetCategory(This,pCategory)
1622 #define INetwork_SetCategory(This,NewCategory) (This)->lpVtbl->SetCategory(This,NewCategory)
1623 #else
1624 /*** IUnknown methods ***/
1625 static FORCEINLINE HRESULT INetwork_QueryInterface(INetwork* This,REFIID riid,void **ppvObject) {
1626     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1627 }
1628 static FORCEINLINE ULONG INetwork_AddRef(INetwork* This) {
1629     return This->lpVtbl->AddRef(This);
1630 }
1631 static FORCEINLINE ULONG INetwork_Release(INetwork* This) {
1632     return This->lpVtbl->Release(This);
1633 }
1634 /*** IDispatch methods ***/
1635 static FORCEINLINE HRESULT INetwork_GetTypeInfoCount(INetwork* This,UINT *pctinfo) {
1636     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1637 }
1638 static FORCEINLINE HRESULT INetwork_GetTypeInfo(INetwork* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1639     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1640 }
1641 static FORCEINLINE HRESULT INetwork_GetIDsOfNames(INetwork* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1642     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1643 }
1644 static FORCEINLINE HRESULT INetwork_Invoke(INetwork* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1645     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1646 }
1647 /*** INetwork methods ***/
1648 static FORCEINLINE HRESULT INetwork_GetName(INetwork* This,BSTR *pszNetworkName) {
1649     return This->lpVtbl->GetName(This,pszNetworkName);
1650 }
1651 static FORCEINLINE HRESULT INetwork_SetName(INetwork* This,BSTR szNetworkNewName) {
1652     return This->lpVtbl->SetName(This,szNetworkNewName);
1653 }
1654 static FORCEINLINE HRESULT INetwork_GetDescription(INetwork* This,BSTR *pszDescription) {
1655     return This->lpVtbl->GetDescription(This,pszDescription);
1656 }
1657 static FORCEINLINE HRESULT INetwork_SetDescription(INetwork* This,BSTR szDescription) {
1658     return This->lpVtbl->SetDescription(This,szDescription);
1659 }
1660 static FORCEINLINE HRESULT INetwork_GetNetworkId(INetwork* This,GUID *pgdGuidNetworkId) {
1661     return This->lpVtbl->GetNetworkId(This,pgdGuidNetworkId);
1662 }
1663 static FORCEINLINE HRESULT INetwork_GetDomainType(INetwork* This,NLM_DOMAIN_TYPE *pNetworkType) {
1664     return This->lpVtbl->GetDomainType(This,pNetworkType);
1665 }
1666 static FORCEINLINE HRESULT INetwork_GetNetworkConnections(INetwork* This,IEnumNetworkConnections **ppEnumNetworkConnection) {
1667     return This->lpVtbl->GetNetworkConnections(This,ppEnumNetworkConnection);
1668 }
1669 static FORCEINLINE HRESULT INetwork_GetTimeCreatedAndConnected(INetwork* This,DWORD *pdwLowDateTimeCreated,DWORD *pdwHighDateTimeCreated,DWORD *pdwLowDateTimeConnected,DWORD *pdwHighDateTimeConnected) {
1670     return This->lpVtbl->GetTimeCreatedAndConnected(This,pdwLowDateTimeCreated,pdwHighDateTimeCreated,pdwLowDateTimeConnected,pdwHighDateTimeConnected);
1671 }
1672 static FORCEINLINE HRESULT INetwork_get_IsConnectedToInternet(INetwork* This,VARIANT_BOOL *pbIsConnected) {
1673     return This->lpVtbl->get_IsConnectedToInternet(This,pbIsConnected);
1674 }
1675 static FORCEINLINE HRESULT INetwork_get_IsConnected(INetwork* This,VARIANT_BOOL *pbIsConnected) {
1676     return This->lpVtbl->get_IsConnected(This,pbIsConnected);
1677 }
1678 static FORCEINLINE HRESULT INetwork_GetConnectivity(INetwork* This,NLM_CONNECTIVITY *pConnectivity) {
1679     return This->lpVtbl->GetConnectivity(This,pConnectivity);
1680 }
1681 static FORCEINLINE HRESULT INetwork_GetCategory(INetwork* This,NLM_NETWORK_CATEGORY *pCategory) {
1682     return This->lpVtbl->GetCategory(This,pCategory);
1683 }
1684 static FORCEINLINE HRESULT INetwork_SetCategory(INetwork* This,NLM_NETWORK_CATEGORY NewCategory) {
1685     return This->lpVtbl->SetCategory(This,NewCategory);
1686 }
1687 #endif
1688 #endif
1689 
1690 #endif
1691 
1692 
1693 #endif  /* __INetwork_INTERFACE_DEFINED__ */
1694 
1695 /* Begin additional prototypes for all interfaces */
1696 
1697 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1698 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1699 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1700 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1701 
1702 /* End additional prototypes */
1703 
1704 #ifdef __cplusplus
1705 }
1706 #endif
1707 
1708 #endif /* __netlistmgr_h__ */
1709