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