Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __netcon_h__
     23 #define __netcon_h__
     24 
     25 #ifndef __IEnumNetConnection_FWD_DEFINED__
     26 #define __IEnumNetConnection_FWD_DEFINED__
     27 typedef struct IEnumNetConnection IEnumNetConnection;
     28 #endif
     29 
     30 #ifndef __INetConnection_FWD_DEFINED__
     31 #define __INetConnection_FWD_DEFINED__
     32 typedef struct INetConnection INetConnection;
     33 #endif
     34 
     35 #ifndef __INetConnectionManager_FWD_DEFINED__
     36 #define __INetConnectionManager_FWD_DEFINED__
     37 typedef struct INetConnectionManager INetConnectionManager;
     38 #endif
     39 
     40 #ifndef __INetConnectionManagerEvents_FWD_DEFINED__
     41 #define __INetConnectionManagerEvents_FWD_DEFINED__
     42 typedef struct INetConnectionManagerEvents INetConnectionManagerEvents;
     43 #endif
     44 
     45 #ifndef __INetConnectionConnectUi_FWD_DEFINED__
     46 #define __INetConnectionConnectUi_FWD_DEFINED__
     47 typedef struct INetConnectionConnectUi INetConnectionConnectUi;
     48 #endif
     49 
     50 #ifndef __INetConnectionPropertyUi_FWD_DEFINED__
     51 #define __INetConnectionPropertyUi_FWD_DEFINED__
     52 typedef struct INetConnectionPropertyUi INetConnectionPropertyUi;
     53 #endif
     54 
     55 #ifndef __INetConnectionPropertyUi2_FWD_DEFINED__
     56 #define __INetConnectionPropertyUi2_FWD_DEFINED__
     57 typedef struct INetConnectionPropertyUi2 INetConnectionPropertyUi2;
     58 #endif
     59 
     60 #ifndef __INetConnectionCommonUi_FWD_DEFINED__
     61 #define __INetConnectionCommonUi_FWD_DEFINED__
     62 typedef struct INetConnectionCommonUi INetConnectionCommonUi;
     63 #endif
     64 
     65 #ifndef __IEnumNetSharingPortMapping_FWD_DEFINED__
     66 #define __IEnumNetSharingPortMapping_FWD_DEFINED__
     67 typedef struct IEnumNetSharingPortMapping IEnumNetSharingPortMapping;
     68 #endif
     69 
     70 #ifndef __INetSharingPortMappingProps_FWD_DEFINED__
     71 #define __INetSharingPortMappingProps_FWD_DEFINED__
     72 typedef struct INetSharingPortMappingProps INetSharingPortMappingProps;
     73 #endif
     74 
     75 #ifndef __INetSharingPortMapping_FWD_DEFINED__
     76 #define __INetSharingPortMapping_FWD_DEFINED__
     77 typedef struct INetSharingPortMapping INetSharingPortMapping;
     78 #endif
     79 
     80 #ifndef __IEnumNetSharingEveryConnection_FWD_DEFINED__
     81 #define __IEnumNetSharingEveryConnection_FWD_DEFINED__
     82 typedef struct IEnumNetSharingEveryConnection IEnumNetSharingEveryConnection;
     83 #endif
     84 
     85 #ifndef __IEnumNetSharingPublicConnection_FWD_DEFINED__
     86 #define __IEnumNetSharingPublicConnection_FWD_DEFINED__
     87 typedef struct IEnumNetSharingPublicConnection IEnumNetSharingPublicConnection;
     88 #endif
     89 
     90 #ifndef __IEnumNetSharingPrivateConnection_FWD_DEFINED__
     91 #define __IEnumNetSharingPrivateConnection_FWD_DEFINED__
     92 typedef struct IEnumNetSharingPrivateConnection IEnumNetSharingPrivateConnection;
     93 #endif
     94 
     95 #ifndef __INetSharingPortMappingCollection_FWD_DEFINED__
     96 #define __INetSharingPortMappingCollection_FWD_DEFINED__
     97 typedef struct INetSharingPortMappingCollection INetSharingPortMappingCollection;
     98 #endif
     99 
    100 #ifndef __INetConnectionProps_FWD_DEFINED__
    101 #define __INetConnectionProps_FWD_DEFINED__
    102 typedef struct INetConnectionProps INetConnectionProps;
    103 #endif
    104 
    105 #ifndef __INetSharingConfiguration_FWD_DEFINED__
    106 #define __INetSharingConfiguration_FWD_DEFINED__
    107 typedef struct INetSharingConfiguration INetSharingConfiguration;
    108 #endif
    109 
    110 #ifndef __INetSharingEveryConnectionCollection_FWD_DEFINED__
    111 #define __INetSharingEveryConnectionCollection_FWD_DEFINED__
    112 typedef struct INetSharingEveryConnectionCollection INetSharingEveryConnectionCollection;
    113 #endif
    114 
    115 #ifndef __INetSharingPublicConnectionCollection_FWD_DEFINED__
    116 #define __INetSharingPublicConnectionCollection_FWD_DEFINED__
    117 typedef struct INetSharingPublicConnectionCollection INetSharingPublicConnectionCollection;
    118 #endif
    119 
    120 #ifndef __INetSharingPrivateConnectionCollection_FWD_DEFINED__
    121 #define __INetSharingPrivateConnectionCollection_FWD_DEFINED__
    122 typedef struct INetSharingPrivateConnectionCollection INetSharingPrivateConnectionCollection;
    123 #endif
    124 
    125 #ifndef __INetSharingManager_FWD_DEFINED__
    126 #define __INetSharingManager_FWD_DEFINED__
    127 typedef struct INetSharingManager INetSharingManager;
    128 #endif
    129 
    130 #ifndef __NetSharingManager_FWD_DEFINED__
    131 #define __NetSharingManager_FWD_DEFINED__
    132 #ifdef __cplusplus
    133 typedef class NetSharingManager NetSharingManager;
    134 #else
    135 typedef struct NetSharingManager NetSharingManager;
    136 #endif
    137 #endif
    138 
    139 #include "oaidl.h"
    140 #include "prsht.h"
    141 
    142 #ifdef __cplusplus
    143 extern "C" {
    144 #endif
    145 
    146 #ifndef __MIDL_user_allocate_free_DEFINED__
    147 #define __MIDL_user_allocate_free_DEFINED__
    148   void *__RPC_API MIDL_user_allocate(size_t);
    149   void __RPC_API MIDL_user_free(void *);
    150 #endif
    151 
    152   EXTERN_C const CLSID CLSID_ConnectionManager;
    153   EXTERN_C const CLSID CLSID_ConnectionCommonUi;
    154   EXTERN_C const CLSID CLSID_NetSharingManager;
    155 
    156 #define NETCON_HKEYCURRENTUSERPATH TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Network\\Network Connections")
    157 #define NETCON_DESKTOPSHORTCUT TEXT("DesktopShortcut")
    158 #define NETCON_MAX_NAME_LEN 256
    159 
    160   extern RPC_IF_HANDLE __MIDL_itf_netcon_0000_v0_0_c_ifspec;
    161   extern RPC_IF_HANDLE __MIDL_itf_netcon_0000_v0_0_s_ifspec;
    162 
    163 #ifndef __IEnumNetConnection_INTERFACE_DEFINED__
    164 #define __IEnumNetConnection_INTERFACE_DEFINED__
    165   EXTERN_C const IID IID_IEnumNetConnection;
    166 #if defined(__cplusplus) && !defined(CINTERFACE)
    167   struct IEnumNetConnection : public IUnknown {
    168   public:
    169     virtual HRESULT WINAPI Next(ULONG celt,INetConnection **rgelt,ULONG *pceltFetched) = 0;
    170     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    171     virtual HRESULT WINAPI Reset(void) = 0;
    172     virtual HRESULT WINAPI Clone(IEnumNetConnection **ppenum) = 0;
    173   };
    174 #else
    175   typedef struct IEnumNetConnectionVtbl {
    176     BEGIN_INTERFACE
    177       HRESULT (WINAPI *QueryInterface)(IEnumNetConnection *This,REFIID riid,void **ppvObject);
    178       ULONG (WINAPI *AddRef)(IEnumNetConnection *This);
    179       ULONG (WINAPI *Release)(IEnumNetConnection *This);
    180       HRESULT (WINAPI *Next)(IEnumNetConnection *This,ULONG celt,INetConnection **rgelt,ULONG *pceltFetched);
    181       HRESULT (WINAPI *Skip)(IEnumNetConnection *This,ULONG celt);
    182       HRESULT (WINAPI *Reset)(IEnumNetConnection *This);
    183       HRESULT (WINAPI *Clone)(IEnumNetConnection *This,IEnumNetConnection **ppenum);
    184     END_INTERFACE
    185   } IEnumNetConnectionVtbl;
    186   struct IEnumNetConnection {
    187     CONST_VTBL struct IEnumNetConnectionVtbl *lpVtbl;
    188   };
    189 #ifdef COBJMACROS
    190 #define IEnumNetConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    191 #define IEnumNetConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    192 #define IEnumNetConnection_Release(This) (This)->lpVtbl->Release(This)
    193 #define IEnumNetConnection_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
    194 #define IEnumNetConnection_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    195 #define IEnumNetConnection_Reset(This) (This)->lpVtbl->Reset(This)
    196 #define IEnumNetConnection_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    197 #endif
    198 #endif
    199   HRESULT WINAPI IEnumNetConnection_Next_Proxy(IEnumNetConnection *This,ULONG celt,INetConnection **rgelt,ULONG *pceltFetched);
    200   void __RPC_STUB IEnumNetConnection_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    201   HRESULT WINAPI IEnumNetConnection_Skip_Proxy(IEnumNetConnection *This,ULONG celt);
    202   void __RPC_STUB IEnumNetConnection_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    203   HRESULT WINAPI IEnumNetConnection_Reset_Proxy(IEnumNetConnection *This);
    204   void __RPC_STUB IEnumNetConnection_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    205   HRESULT WINAPI IEnumNetConnection_Clone_Proxy(IEnumNetConnection *This,IEnumNetConnection **ppenum);
    206   void __RPC_STUB IEnumNetConnection_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    207 #endif
    208 
    209 #ifndef __INetConnection_INTERFACE_DEFINED__
    210 #define __INetConnection_INTERFACE_DEFINED__
    211   typedef enum tagNETCON_CHARACTERISTIC_FLAGS {
    212     NCCF_NONE = 0,NCCF_ALL_USERS = 0x1,NCCF_ALLOW_DUPLICATION = 0x2,NCCF_ALLOW_REMOVAL = 0x4,NCCF_ALLOW_RENAME = 0x8,NCCF_SHOW_ICON = 0x10,
    213     NCCF_INCOMING_ONLY = 0x20,NCCF_OUTGOING_ONLY = 0x40,NCCF_BRANDED = 0x80,NCCF_SHARED = 0x100,NCCF_BRIDGED = 0x200,NCCF_FIREWALLED = 0x400,
    214     NCCF_DEFAULT = 0x800,NCCF_HOMENET_CAPABLE = 0x1000,NCCF_SHARED_PRIVATE = 0x2000,NCCF_QUARANTINED = 0x4000,NCCF_RESERVED = 0x8000,
    215     NCCF_BLUETOOTH_MASK = 0xf0000,NCCF_LAN_MASK = 0xf00000
    216   } NETCON_CHARACTERISTIC_FLAGS;
    217 
    218   typedef enum tagNETCON_STATUS {
    219     NCS_DISCONNECTED = 0,NCS_CONNECTING,NCS_CONNECTED,NCS_DISCONNECTING,
    220     NCS_HARDWARE_NOT_PRESENT,NCS_HARDWARE_DISABLED,NCS_HARDWARE_MALFUNCTION,
    221     NCS_MEDIA_DISCONNECTED,NCS_AUTHENTICATING,NCS_AUTHENTICATION_SUCCEEDED,
    222     NCS_AUTHENTICATION_FAILED,NCS_INVALID_ADDRESS,NCS_CREDENTIALS_REQUIRED
    223   } NETCON_STATUS;
    224 
    225   typedef enum tagNETCON_TYPE {
    226     NCT_DIRECT_CONNECT = 0,NCT_INBOUND,NCT_INTERNET,NCT_LAN,NCT_PHONE,NCT_TUNNEL,NCT_BRIDGE
    227   } NETCON_TYPE;
    228 
    229   typedef enum tagNETCON_MEDIATYPE {
    230     NCM_NONE = 0,NCM_DIRECT,NCM_ISDN,NCM_LAN,NCM_PHONE,NCM_TUNNEL,
    231     NCM_PPPOE,NCM_BRIDGE,NCM_SHAREDACCESSHOST_LAN,NCM_SHAREDACCESSHOST_RAS
    232   } NETCON_MEDIATYPE;
    233 
    234   typedef struct tagNETCON_PROPERTIES {
    235     GUID guidId;
    236     LPWSTR pszwName;
    237     LPWSTR pszwDeviceName;
    238     NETCON_STATUS Status;
    239     NETCON_MEDIATYPE MediaType;
    240     DWORD dwCharacter;
    241     CLSID clsidThisObject;
    242     CLSID clsidUiObject;
    243   } NETCON_PROPERTIES;
    244 
    245 #define S_OBJECT_NO_LONGER_VALID ((HRESULT)0x00000002)
    246 
    247   EXTERN_C const IID IID_INetConnection;
    248 #if defined(__cplusplus) && !defined(CINTERFACE)
    249   struct INetConnection : public IUnknown {
    250   public:
    251     virtual HRESULT WINAPI Connect(void) = 0;
    252     virtual HRESULT WINAPI Disconnect(void) = 0;
    253     virtual HRESULT WINAPI Delete(void) = 0;
    254     virtual HRESULT WINAPI Duplicate(LPCWSTR pszwDuplicateName,INetConnection **ppCon) = 0;
    255     virtual HRESULT WINAPI GetProperties(NETCON_PROPERTIES **ppProps) = 0;
    256     virtual HRESULT WINAPI GetUiObjectClassId(CLSID *pclsid) = 0;
    257     virtual HRESULT WINAPI Rename(LPCWSTR pszwNewName) = 0;
    258   };
    259 #else
    260   typedef struct INetConnectionVtbl {
    261     BEGIN_INTERFACE
    262       HRESULT (WINAPI *QueryInterface)(INetConnection *This,REFIID riid,void **ppvObject);
    263       ULONG (WINAPI *AddRef)(INetConnection *This);
    264       ULONG (WINAPI *Release)(INetConnection *This);
    265       HRESULT (WINAPI *Connect)(INetConnection *This);
    266       HRESULT (WINAPI *Disconnect)(INetConnection *This);
    267       HRESULT (WINAPI *Delete)(INetConnection *This);
    268       HRESULT (WINAPI *Duplicate)(INetConnection *This,LPCWSTR pszwDuplicateName,INetConnection **ppCon);
    269       HRESULT (WINAPI *GetProperties)(INetConnection *This,NETCON_PROPERTIES **ppProps);
    270       HRESULT (WINAPI *GetUiObjectClassId)(INetConnection *This,CLSID *pclsid);
    271       HRESULT (WINAPI *Rename)(INetConnection *This,LPCWSTR pszwNewName);
    272     END_INTERFACE
    273   } INetConnectionVtbl;
    274   struct INetConnection {
    275     CONST_VTBL struct INetConnectionVtbl *lpVtbl;
    276   };
    277 #ifdef COBJMACROS
    278 #define INetConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    279 #define INetConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    280 #define INetConnection_Release(This) (This)->lpVtbl->Release(This)
    281 #define INetConnection_Connect(This) (This)->lpVtbl->Connect(This)
    282 #define INetConnection_Disconnect(This) (This)->lpVtbl->Disconnect(This)
    283 #define INetConnection_Delete(This) (This)->lpVtbl->Delete(This)
    284 #define INetConnection_Duplicate(This,pszwDuplicateName,ppCon) (This)->lpVtbl->Duplicate(This,pszwDuplicateName,ppCon)
    285 #define INetConnection_GetProperties(This,ppProps) (This)->lpVtbl->GetProperties(This,ppProps)
    286 #define INetConnection_GetUiObjectClassId(This,pclsid) (This)->lpVtbl->GetUiObjectClassId(This,pclsid)
    287 #define INetConnection_Rename(This,pszwNewName) (This)->lpVtbl->Rename(This,pszwNewName)
    288 #endif
    289 #endif
    290   HRESULT WINAPI INetConnection_Connect_Proxy(INetConnection *This);
    291   void __RPC_STUB INetConnection_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    292   HRESULT WINAPI INetConnection_Disconnect_Proxy(INetConnection *This);
    293   void __RPC_STUB INetConnection_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    294   HRESULT WINAPI INetConnection_Delete_Proxy(INetConnection *This);
    295   void __RPC_STUB INetConnection_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    296   HRESULT WINAPI INetConnection_Duplicate_Proxy(INetConnection *This,LPCWSTR pszwDuplicateName,INetConnection **ppCon);
    297   void __RPC_STUB INetConnection_Duplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    298   HRESULT WINAPI INetConnection_GetProperties_Proxy(INetConnection *This,NETCON_PROPERTIES **ppProps);
    299   void __RPC_STUB INetConnection_GetProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    300   HRESULT WINAPI INetConnection_GetUiObjectClassId_Proxy(INetConnection *This,CLSID *pclsid);
    301   void __RPC_STUB INetConnection_GetUiObjectClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    302   HRESULT WINAPI INetConnection_Rename_Proxy(INetConnection *This,LPCWSTR pszwNewName);
    303   void __RPC_STUB INetConnection_Rename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    304 #endif
    305 
    306   STDAPI_(VOID) NcFreeNetconProperties(NETCON_PROPERTIES *pProps);
    307   STDAPI_(WINBOOL) NcIsValidConnectionName(PCWSTR pszwName);
    308 
    309   extern RPC_IF_HANDLE __MIDL_itf_netcon_0120_v0_0_c_ifspec;
    310   extern RPC_IF_HANDLE __MIDL_itf_netcon_0120_v0_0_s_ifspec;
    311 
    312 #ifndef __INetConnectionManager_INTERFACE_DEFINED__
    313 #define __INetConnectionManager_INTERFACE_DEFINED__
    314   typedef enum tagNETCONMGR_ENUM_FLAGS {
    315     NCME_DEFAULT = 0
    316   } NETCONMGR_ENUM_FLAGS;
    317 
    318   EXTERN_C const IID IID_INetConnectionManager;
    319 #if defined(__cplusplus) && !defined(CINTERFACE)
    320   struct INetConnectionManager : public IUnknown {
    321   public:
    322     virtual HRESULT WINAPI EnumConnections(NETCONMGR_ENUM_FLAGS Flags,IEnumNetConnection **ppEnum) = 0;
    323   };
    324 #else
    325   typedef struct INetConnectionManagerVtbl {
    326     BEGIN_INTERFACE
    327       HRESULT (WINAPI *QueryInterface)(INetConnectionManager *This,REFIID riid,void **ppvObject);
    328       ULONG (WINAPI *AddRef)(INetConnectionManager *This);
    329       ULONG (WINAPI *Release)(INetConnectionManager *This);
    330       HRESULT (WINAPI *EnumConnections)(INetConnectionManager *This,NETCONMGR_ENUM_FLAGS Flags,IEnumNetConnection **ppEnum);
    331     END_INTERFACE
    332   } INetConnectionManagerVtbl;
    333   struct INetConnectionManager {
    334     CONST_VTBL struct INetConnectionManagerVtbl *lpVtbl;
    335   };
    336 #ifdef COBJMACROS
    337 #define INetConnectionManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    338 #define INetConnectionManager_AddRef(This) (This)->lpVtbl->AddRef(This)
    339 #define INetConnectionManager_Release(This) (This)->lpVtbl->Release(This)
    340 #define INetConnectionManager_EnumConnections(This,Flags,ppEnum) (This)->lpVtbl->EnumConnections(This,Flags,ppEnum)
    341 #endif
    342 #endif
    343   HRESULT WINAPI INetConnectionManager_EnumConnections_Proxy(INetConnectionManager *This,NETCONMGR_ENUM_FLAGS Flags,IEnumNetConnection **ppEnum);
    344   void __RPC_STUB INetConnectionManager_EnumConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    345 #endif
    346 
    347 #ifndef __INetConnectionManagerEvents_INTERFACE_DEFINED__
    348 #define __INetConnectionManagerEvents_INTERFACE_DEFINED__
    349   EXTERN_C const IID IID_INetConnectionManagerEvents;
    350 #if defined(__cplusplus) && !defined(CINTERFACE)
    351   struct INetConnectionManagerEvents : public IUnknown {
    352   public:
    353     virtual HRESULT WINAPI RefreshConnections(void) = 0;
    354     virtual HRESULT WINAPI Enable(void) = 0;
    355     virtual HRESULT WINAPI Disable(ULONG ulDisableTimeout) = 0;
    356   };
    357 #else
    358   typedef struct INetConnectionManagerEventsVtbl {
    359     BEGIN_INTERFACE
    360       HRESULT (WINAPI *QueryInterface)(INetConnectionManagerEvents *This,REFIID riid,void **ppvObject);
    361       ULONG (WINAPI *AddRef)(INetConnectionManagerEvents *This);
    362       ULONG (WINAPI *Release)(INetConnectionManagerEvents *This);
    363       HRESULT (WINAPI *RefreshConnections)(INetConnectionManagerEvents *This);
    364       HRESULT (WINAPI *Enable)(INetConnectionManagerEvents *This);
    365       HRESULT (WINAPI *Disable)(INetConnectionManagerEvents *This,ULONG ulDisableTimeout);
    366     END_INTERFACE
    367   } INetConnectionManagerEventsVtbl;
    368   struct INetConnectionManagerEvents {
    369     CONST_VTBL struct INetConnectionManagerEventsVtbl *lpVtbl;
    370   };
    371 #ifdef COBJMACROS
    372 #define INetConnectionManagerEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    373 #define INetConnectionManagerEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
    374 #define INetConnectionManagerEvents_Release(This) (This)->lpVtbl->Release(This)
    375 #define INetConnectionManagerEvents_RefreshConnections(This) (This)->lpVtbl->RefreshConnections(This)
    376 #define INetConnectionManagerEvents_Enable(This) (This)->lpVtbl->Enable(This)
    377 #define INetConnectionManagerEvents_Disable(This,ulDisableTimeout) (This)->lpVtbl->Disable(This,ulDisableTimeout)
    378 #endif
    379 #endif
    380   HRESULT WINAPI INetConnectionManagerEvents_RefreshConnections_Proxy(INetConnectionManagerEvents *This);
    381   void __RPC_STUB INetConnectionManagerEvents_RefreshConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    382   HRESULT WINAPI INetConnectionManagerEvents_Enable_Proxy(INetConnectionManagerEvents *This);
    383   void __RPC_STUB INetConnectionManagerEvents_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    384   HRESULT WINAPI INetConnectionManagerEvents_Disable_Proxy(INetConnectionManagerEvents *This,ULONG ulDisableTimeout);
    385   void __RPC_STUB INetConnectionManagerEvents_Disable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    386 #endif
    387 
    388 #ifndef __INetConnectionConnectUi_INTERFACE_DEFINED__
    389 #define __INetConnectionConnectUi_INTERFACE_DEFINED__
    390   typedef enum tagNETCONUI_CONNECT_FLAGS {
    391     NCUC_DEFAULT = 0,NCUC_NO_UI = 0x1,NCUC_ENABLE_DISABLE = 0x2
    392   } NETCONUI_CONNECT_FLAGS;
    393 
    394   EXTERN_C const IID IID_INetConnectionConnectUi;
    395 #if defined(__cplusplus) && !defined(CINTERFACE)
    396   struct INetConnectionConnectUi : public IUnknown {
    397   public:
    398     virtual HRESULT WINAPI SetConnection(INetConnection *pCon) = 0;
    399     virtual HRESULT WINAPI Connect(HWND hwndParent,DWORD dwFlags) = 0;
    400     virtual HRESULT WINAPI Disconnect(HWND hwndParent,DWORD dwFlags) = 0;
    401   };
    402 #else
    403   typedef struct INetConnectionConnectUiVtbl {
    404     BEGIN_INTERFACE
    405       HRESULT (WINAPI *QueryInterface)(INetConnectionConnectUi *This,REFIID riid,void **ppvObject);
    406       ULONG (WINAPI *AddRef)(INetConnectionConnectUi *This);
    407       ULONG (WINAPI *Release)(INetConnectionConnectUi *This);
    408       HRESULT (WINAPI *SetConnection)(INetConnectionConnectUi *This,INetConnection *pCon);
    409       HRESULT (WINAPI *Connect)(INetConnectionConnectUi *This,HWND hwndParent,DWORD dwFlags);
    410       HRESULT (WINAPI *Disconnect)(INetConnectionConnectUi *This,HWND hwndParent,DWORD dwFlags);
    411     END_INTERFACE
    412   } INetConnectionConnectUiVtbl;
    413   struct INetConnectionConnectUi {
    414     CONST_VTBL struct INetConnectionConnectUiVtbl *lpVtbl;
    415   };
    416 #ifdef COBJMACROS
    417 #define INetConnectionConnectUi_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    418 #define INetConnectionConnectUi_AddRef(This) (This)->lpVtbl->AddRef(This)
    419 #define INetConnectionConnectUi_Release(This) (This)->lpVtbl->Release(This)
    420 #define INetConnectionConnectUi_SetConnection(This,pCon) (This)->lpVtbl->SetConnection(This,pCon)
    421 #define INetConnectionConnectUi_Connect(This,hwndParent,dwFlags) (This)->lpVtbl->Connect(This,hwndParent,dwFlags)
    422 #define INetConnectionConnectUi_Disconnect(This,hwndParent,dwFlags) (This)->lpVtbl->Disconnect(This,hwndParent,dwFlags)
    423 #endif
    424 #endif
    425   HRESULT WINAPI INetConnectionConnectUi_SetConnection_Proxy(INetConnectionConnectUi *This,INetConnection *pCon);
    426   void __RPC_STUB INetConnectionConnectUi_SetConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    427   HRESULT WINAPI INetConnectionConnectUi_Connect_Proxy(INetConnectionConnectUi *This,HWND hwndParent,DWORD dwFlags);
    428   void __RPC_STUB INetConnectionConnectUi_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    429   HRESULT WINAPI INetConnectionConnectUi_Disconnect_Proxy(INetConnectionConnectUi *This,HWND hwndParent,DWORD dwFlags);
    430   void __RPC_STUB INetConnectionConnectUi_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    431 #endif
    432 
    433 #ifndef __INetConnectionPropertyUi_INTERFACE_DEFINED__
    434 #define __INetConnectionPropertyUi_INTERFACE_DEFINED__
    435   EXTERN_C const IID IID_INetConnectionPropertyUi;
    436 #if defined(__cplusplus) && !defined(CINTERFACE)
    437   struct INetConnectionPropertyUi : public IUnknown {
    438   public:
    439     virtual HRESULT WINAPI SetConnection(INetConnection *pCon) = 0;
    440     virtual HRESULT WINAPI AddPages(HWND hwndParent,LPFNADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) = 0;
    441   };
    442 #else
    443   typedef struct INetConnectionPropertyUiVtbl {
    444     BEGIN_INTERFACE
    445       HRESULT (WINAPI *QueryInterface)(INetConnectionPropertyUi *This,REFIID riid,void **ppvObject);
    446       ULONG (WINAPI *AddRef)(INetConnectionPropertyUi *This);
    447       ULONG (WINAPI *Release)(INetConnectionPropertyUi *This);
    448       HRESULT (WINAPI *SetConnection)(INetConnectionPropertyUi *This,INetConnection *pCon);
    449       HRESULT (WINAPI *AddPages)(INetConnectionPropertyUi *This,HWND hwndParent,LPFNADDPROPSHEETPAGE pfnAddPage,LPARAM lParam);
    450     END_INTERFACE
    451   } INetConnectionPropertyUiVtbl;
    452   struct INetConnectionPropertyUi {
    453     CONST_VTBL struct INetConnectionPropertyUiVtbl *lpVtbl;
    454   };
    455 #ifdef COBJMACROS
    456 #define INetConnectionPropertyUi_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    457 #define INetConnectionPropertyUi_AddRef(This) (This)->lpVtbl->AddRef(This)
    458 #define INetConnectionPropertyUi_Release(This) (This)->lpVtbl->Release(This)
    459 #define INetConnectionPropertyUi_SetConnection(This,pCon) (This)->lpVtbl->SetConnection(This,pCon)
    460 #define INetConnectionPropertyUi_AddPages(This,hwndParent,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,hwndParent,pfnAddPage,lParam)
    461 #endif
    462 #endif
    463   HRESULT WINAPI INetConnectionPropertyUi_SetConnection_Proxy(INetConnectionPropertyUi *This,INetConnection *pCon);
    464   void __RPC_STUB INetConnectionPropertyUi_SetConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    465   HRESULT WINAPI INetConnectionPropertyUi_AddPages_Proxy(INetConnectionPropertyUi *This,HWND hwndParent,LPFNADDPROPSHEETPAGE pfnAddPage,LPARAM lParam);
    466   void __RPC_STUB INetConnectionPropertyUi_AddPages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    467 #endif
    468 
    469 #ifndef __INetConnectionPropertyUi2_INTERFACE_DEFINED__
    470 #define __INetConnectionPropertyUi2_INTERFACE_DEFINED__
    471   EXTERN_C const IID IID_INetConnectionPropertyUi2;
    472 #if defined(__cplusplus) && !defined(CINTERFACE)
    473   struct INetConnectionPropertyUi2 : public INetConnectionPropertyUi {
    474   public:
    475     virtual HRESULT WINAPI GetIcon(DWORD dwSize,HICON *phIcon) = 0;
    476   };
    477 #else
    478   typedef struct INetConnectionPropertyUi2Vtbl {
    479     BEGIN_INTERFACE
    480       HRESULT (WINAPI *QueryInterface)(INetConnectionPropertyUi2 *This,REFIID riid,void **ppvObject);
    481       ULONG (WINAPI *AddRef)(INetConnectionPropertyUi2 *This);
    482       ULONG (WINAPI *Release)(INetConnectionPropertyUi2 *This);
    483       HRESULT (WINAPI *SetConnection)(INetConnectionPropertyUi2 *This,INetConnection *pCon);
    484       HRESULT (WINAPI *AddPages)(INetConnectionPropertyUi2 *This,HWND hwndParent,LPFNADDPROPSHEETPAGE pfnAddPage,LPARAM lParam);
    485       HRESULT (WINAPI *GetIcon)(INetConnectionPropertyUi2 *This,DWORD dwSize,HICON *phIcon);
    486     END_INTERFACE
    487   } INetConnectionPropertyUi2Vtbl;
    488   struct INetConnectionPropertyUi2 {
    489     CONST_VTBL struct INetConnectionPropertyUi2Vtbl *lpVtbl;
    490   };
    491 #ifdef COBJMACROS
    492 #define INetConnectionPropertyUi2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    493 #define INetConnectionPropertyUi2_AddRef(This) (This)->lpVtbl->AddRef(This)
    494 #define INetConnectionPropertyUi2_Release(This) (This)->lpVtbl->Release(This)
    495 #define INetConnectionPropertyUi2_SetConnection(This,pCon) (This)->lpVtbl->SetConnection(This,pCon)
    496 #define INetConnectionPropertyUi2_AddPages(This,hwndParent,pfnAddPage,lParam) (This)->lpVtbl->AddPages(This,hwndParent,pfnAddPage,lParam)
    497 #define INetConnectionPropertyUi2_GetIcon(This,dwSize,phIcon) (This)->lpVtbl->GetIcon(This,dwSize,phIcon)
    498 #endif
    499 #endif
    500   HRESULT WINAPI INetConnectionPropertyUi2_GetIcon_Proxy(INetConnectionPropertyUi2 *This,DWORD dwSize,HICON *phIcon);
    501   void __RPC_STUB INetConnectionPropertyUi2_GetIcon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    502 #endif
    503 
    504 #ifndef __INetConnectionCommonUi_INTERFACE_DEFINED__
    505 #define __INetConnectionCommonUi_INTERFACE_DEFINED__
    506   typedef enum tagNETCON_CHOOSEFLAGS {
    507     NCCHF_CONNECT = 0x1,NCCHF_CAPTION = 0x2,NCCHF_OKBTTNTEXT = 0x4,NCCHF_DISABLENEW = 0x8,NCCHF_AUTOSELECT = 0x10
    508   } NETCON_CHOOSEFLAGS;
    509 
    510   typedef enum tagNETCON_CHOOSETYPE {
    511     NCCHT_DIRECT_CONNECT = 0x1,NCCHT_LAN = 0x2,NCCHT_PHONE = 0x4,NCCHT_TUNNEL = 0x8,NCCHT_ISDN = 0x10,NCCHT_ALL = 0x1f
    512   } NETCON_CHOOSETYPE;
    513 
    514   typedef struct tagNETCON_CHOOSECONN {
    515     DWORD lStructSize;
    516     HWND hwndParent;
    517     DWORD dwFlags;
    518     DWORD dwTypeMask;
    519     LPCWSTR lpstrCaption;
    520     LPCWSTR lpstrOkBttnText;
    521   } NETCON_CHOOSECONN;
    522 
    523   EXTERN_C const IID IID_INetConnectionCommonUi;
    524 #if defined(__cplusplus) && !defined(CINTERFACE)
    525   struct INetConnectionCommonUi : public IUnknown {
    526   public:
    527     virtual HRESULT WINAPI ChooseConnection(NETCON_CHOOSECONN *pChooseConn,INetConnection **ppCon) = 0;
    528     virtual HRESULT WINAPI ShowConnectionProperties(HWND hwndParent,INetConnection *pCon) = 0;
    529     virtual HRESULT WINAPI StartNewConnectionWizard(HWND hwndParent,INetConnection **ppCon) = 0;
    530   };
    531 #else
    532   typedef struct INetConnectionCommonUiVtbl {
    533     BEGIN_INTERFACE
    534       HRESULT (WINAPI *QueryInterface)(INetConnectionCommonUi *This,REFIID riid,void **ppvObject);
    535       ULONG (WINAPI *AddRef)(INetConnectionCommonUi *This);
    536       ULONG (WINAPI *Release)(INetConnectionCommonUi *This);
    537       HRESULT (WINAPI *ChooseConnection)(INetConnectionCommonUi *This,NETCON_CHOOSECONN *pChooseConn,INetConnection **ppCon);
    538       HRESULT (WINAPI *ShowConnectionProperties)(INetConnectionCommonUi *This,HWND hwndParent,INetConnection *pCon);
    539       HRESULT (WINAPI *StartNewConnectionWizard)(INetConnectionCommonUi *This,HWND hwndParent,INetConnection **ppCon);
    540     END_INTERFACE
    541   } INetConnectionCommonUiVtbl;
    542   struct INetConnectionCommonUi {
    543     CONST_VTBL struct INetConnectionCommonUiVtbl *lpVtbl;
    544   };
    545 #ifdef COBJMACROS
    546 #define INetConnectionCommonUi_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    547 #define INetConnectionCommonUi_AddRef(This) (This)->lpVtbl->AddRef(This)
    548 #define INetConnectionCommonUi_Release(This) (This)->lpVtbl->Release(This)
    549 #define INetConnectionCommonUi_ChooseConnection(This,pChooseConn,ppCon) (This)->lpVtbl->ChooseConnection(This,pChooseConn,ppCon)
    550 #define INetConnectionCommonUi_ShowConnectionProperties(This,hwndParent,pCon) (This)->lpVtbl->ShowConnectionProperties(This,hwndParent,pCon)
    551 #define INetConnectionCommonUi_StartNewConnectionWizard(This,hwndParent,ppCon) (This)->lpVtbl->StartNewConnectionWizard(This,hwndParent,ppCon)
    552 #endif
    553 #endif
    554   HRESULT WINAPI INetConnectionCommonUi_ChooseConnection_Proxy(INetConnectionCommonUi *This,NETCON_CHOOSECONN *pChooseConn,INetConnection **ppCon);
    555   void __RPC_STUB INetConnectionCommonUi_ChooseConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    556   HRESULT WINAPI INetConnectionCommonUi_ShowConnectionProperties_Proxy(INetConnectionCommonUi *This,HWND hwndParent,INetConnection *pCon);
    557   void __RPC_STUB INetConnectionCommonUi_ShowConnectionProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    558   HRESULT WINAPI INetConnectionCommonUi_StartNewConnectionWizard_Proxy(INetConnectionCommonUi *This,HWND hwndParent,INetConnection **ppCon);
    559   void __RPC_STUB INetConnectionCommonUi_StartNewConnectionWizard_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    560 #endif
    561 
    562 #ifndef __IEnumNetSharingPortMapping_INTERFACE_DEFINED__
    563 #define __IEnumNetSharingPortMapping_INTERFACE_DEFINED__
    564   EXTERN_C const IID IID_IEnumNetSharingPortMapping;
    565 #if defined(__cplusplus) && !defined(CINTERFACE)
    566   struct IEnumNetSharingPortMapping : public IUnknown {
    567   public:
    568     virtual HRESULT WINAPI Next(ULONG celt,VARIANT *rgVar,ULONG *pceltFetched) = 0;
    569     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    570     virtual HRESULT WINAPI Reset(void) = 0;
    571     virtual HRESULT WINAPI Clone(IEnumNetSharingPortMapping **ppenum) = 0;
    572   };
    573 #else
    574   typedef struct IEnumNetSharingPortMappingVtbl {
    575     BEGIN_INTERFACE
    576       HRESULT (WINAPI *QueryInterface)(IEnumNetSharingPortMapping *This,REFIID riid,void **ppvObject);
    577       ULONG (WINAPI *AddRef)(IEnumNetSharingPortMapping *This);
    578       ULONG (WINAPI *Release)(IEnumNetSharingPortMapping *This);
    579       HRESULT (WINAPI *Next)(IEnumNetSharingPortMapping *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    580       HRESULT (WINAPI *Skip)(IEnumNetSharingPortMapping *This,ULONG celt);
    581       HRESULT (WINAPI *Reset)(IEnumNetSharingPortMapping *This);
    582       HRESULT (WINAPI *Clone)(IEnumNetSharingPortMapping *This,IEnumNetSharingPortMapping **ppenum);
    583     END_INTERFACE
    584   } IEnumNetSharingPortMappingVtbl;
    585   struct IEnumNetSharingPortMapping {
    586     CONST_VTBL struct IEnumNetSharingPortMappingVtbl *lpVtbl;
    587   };
    588 #ifdef COBJMACROS
    589 #define IEnumNetSharingPortMapping_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    590 #define IEnumNetSharingPortMapping_AddRef(This) (This)->lpVtbl->AddRef(This)
    591 #define IEnumNetSharingPortMapping_Release(This) (This)->lpVtbl->Release(This)
    592 #define IEnumNetSharingPortMapping_Next(This,celt,rgVar,pceltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pceltFetched)
    593 #define IEnumNetSharingPortMapping_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    594 #define IEnumNetSharingPortMapping_Reset(This) (This)->lpVtbl->Reset(This)
    595 #define IEnumNetSharingPortMapping_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    596 #endif
    597 #endif
    598   HRESULT WINAPI IEnumNetSharingPortMapping_Next_Proxy(IEnumNetSharingPortMapping *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    599   void __RPC_STUB IEnumNetSharingPortMapping_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    600   HRESULT WINAPI IEnumNetSharingPortMapping_Skip_Proxy(IEnumNetSharingPortMapping *This,ULONG celt);
    601   void __RPC_STUB IEnumNetSharingPortMapping_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    602   HRESULT WINAPI IEnumNetSharingPortMapping_Reset_Proxy(IEnumNetSharingPortMapping *This);
    603   void __RPC_STUB IEnumNetSharingPortMapping_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    604   HRESULT WINAPI IEnumNetSharingPortMapping_Clone_Proxy(IEnumNetSharingPortMapping *This,IEnumNetSharingPortMapping **ppenum);
    605   void __RPC_STUB IEnumNetSharingPortMapping_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    606 #endif
    607 
    608 #ifndef __INetSharingPortMappingProps_INTERFACE_DEFINED__
    609 #define __INetSharingPortMappingProps_INTERFACE_DEFINED__
    610   EXTERN_C const IID IID_INetSharingPortMappingProps;
    611 #if defined(__cplusplus) && !defined(CINTERFACE)
    612   struct INetSharingPortMappingProps : public IDispatch {
    613   public:
    614     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
    615     virtual HRESULT WINAPI get_IPProtocol(UCHAR *pucIPProt) = 0;
    616     virtual HRESULT WINAPI get_ExternalPort(__LONG32 *pusPort) = 0;
    617     virtual HRESULT WINAPI get_InternalPort(__LONG32 *pusPort) = 0;
    618     virtual HRESULT WINAPI get_Options(__LONG32 *pdwOptions) = 0;
    619     virtual HRESULT WINAPI get_TargetName(BSTR *pbstrTargetName) = 0;
    620     virtual HRESULT WINAPI get_TargetIPAddress(BSTR *pbstrTargetIPAddress) = 0;
    621     virtual HRESULT WINAPI get_Enabled(VARIANT_BOOL *pbool) = 0;
    622   };
    623 #else
    624   typedef struct INetSharingPortMappingPropsVtbl {
    625     BEGIN_INTERFACE
    626       HRESULT (WINAPI *QueryInterface)(INetSharingPortMappingProps *This,REFIID riid,void **ppvObject);
    627       ULONG (WINAPI *AddRef)(INetSharingPortMappingProps *This);
    628       ULONG (WINAPI *Release)(INetSharingPortMappingProps *This);
    629       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingPortMappingProps *This,UINT *pctinfo);
    630       HRESULT (WINAPI *GetTypeInfo)(INetSharingPortMappingProps *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    631       HRESULT (WINAPI *GetIDsOfNames)(INetSharingPortMappingProps *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    632       HRESULT (WINAPI *Invoke)(INetSharingPortMappingProps *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    633       HRESULT (WINAPI *get_Name)(INetSharingPortMappingProps *This,BSTR *pbstrName);
    634       HRESULT (WINAPI *get_IPProtocol)(INetSharingPortMappingProps *This,UCHAR *pucIPProt);
    635       HRESULT (WINAPI *get_ExternalPort)(INetSharingPortMappingProps *This,__LONG32 *pusPort);
    636       HRESULT (WINAPI *get_InternalPort)(INetSharingPortMappingProps *This,__LONG32 *pusPort);
    637       HRESULT (WINAPI *get_Options)(INetSharingPortMappingProps *This,__LONG32 *pdwOptions);
    638       HRESULT (WINAPI *get_TargetName)(INetSharingPortMappingProps *This,BSTR *pbstrTargetName);
    639       HRESULT (WINAPI *get_TargetIPAddress)(INetSharingPortMappingProps *This,BSTR *pbstrTargetIPAddress);
    640       HRESULT (WINAPI *get_Enabled)(INetSharingPortMappingProps *This,VARIANT_BOOL *pbool);
    641     END_INTERFACE
    642   } INetSharingPortMappingPropsVtbl;
    643   struct INetSharingPortMappingProps {
    644     CONST_VTBL struct INetSharingPortMappingPropsVtbl *lpVtbl;
    645   };
    646 #ifdef COBJMACROS
    647 #define INetSharingPortMappingProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    648 #define INetSharingPortMappingProps_AddRef(This) (This)->lpVtbl->AddRef(This)
    649 #define INetSharingPortMappingProps_Release(This) (This)->lpVtbl->Release(This)
    650 #define INetSharingPortMappingProps_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    651 #define INetSharingPortMappingProps_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    652 #define INetSharingPortMappingProps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    653 #define INetSharingPortMappingProps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    654 #define INetSharingPortMappingProps_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
    655 #define INetSharingPortMappingProps_get_IPProtocol(This,pucIPProt) (This)->lpVtbl->get_IPProtocol(This,pucIPProt)
    656 #define INetSharingPortMappingProps_get_ExternalPort(This,pusPort) (This)->lpVtbl->get_ExternalPort(This,pusPort)
    657 #define INetSharingPortMappingProps_get_InternalPort(This,pusPort) (This)->lpVtbl->get_InternalPort(This,pusPort)
    658 #define INetSharingPortMappingProps_get_Options(This,pdwOptions) (This)->lpVtbl->get_Options(This,pdwOptions)
    659 #define INetSharingPortMappingProps_get_TargetName(This,pbstrTargetName) (This)->lpVtbl->get_TargetName(This,pbstrTargetName)
    660 #define INetSharingPortMappingProps_get_TargetIPAddress(This,pbstrTargetIPAddress) (This)->lpVtbl->get_TargetIPAddress(This,pbstrTargetIPAddress)
    661 #define INetSharingPortMappingProps_get_Enabled(This,pbool) (This)->lpVtbl->get_Enabled(This,pbool)
    662 #endif
    663 #endif
    664   HRESULT WINAPI INetSharingPortMappingProps_get_Name_Proxy(INetSharingPortMappingProps *This,BSTR *pbstrName);
    665   void __RPC_STUB INetSharingPortMappingProps_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    666   HRESULT WINAPI INetSharingPortMappingProps_get_IPProtocol_Proxy(INetSharingPortMappingProps *This,UCHAR *pucIPProt);
    667   void __RPC_STUB INetSharingPortMappingProps_get_IPProtocol_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    668   HRESULT WINAPI INetSharingPortMappingProps_get_ExternalPort_Proxy(INetSharingPortMappingProps *This,__LONG32 *pusPort);
    669   void __RPC_STUB INetSharingPortMappingProps_get_ExternalPort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    670   HRESULT WINAPI INetSharingPortMappingProps_get_InternalPort_Proxy(INetSharingPortMappingProps *This,__LONG32 *pusPort);
    671   void __RPC_STUB INetSharingPortMappingProps_get_InternalPort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    672   HRESULT WINAPI INetSharingPortMappingProps_get_Options_Proxy(INetSharingPortMappingProps *This,__LONG32 *pdwOptions);
    673   void __RPC_STUB INetSharingPortMappingProps_get_Options_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    674   HRESULT WINAPI INetSharingPortMappingProps_get_TargetName_Proxy(INetSharingPortMappingProps *This,BSTR *pbstrTargetName);
    675   void __RPC_STUB INetSharingPortMappingProps_get_TargetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    676   HRESULT WINAPI INetSharingPortMappingProps_get_TargetIPAddress_Proxy(INetSharingPortMappingProps *This,BSTR *pbstrTargetIPAddress);
    677   void __RPC_STUB INetSharingPortMappingProps_get_TargetIPAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    678   HRESULT WINAPI INetSharingPortMappingProps_get_Enabled_Proxy(INetSharingPortMappingProps *This,VARIANT_BOOL *pbool);
    679   void __RPC_STUB INetSharingPortMappingProps_get_Enabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    680 #endif
    681 
    682 #ifndef __INetSharingPortMapping_INTERFACE_DEFINED__
    683 #define __INetSharingPortMapping_INTERFACE_DEFINED__
    684   EXTERN_C const IID IID_INetSharingPortMapping;
    685 #if defined(__cplusplus) && !defined(CINTERFACE)
    686   struct INetSharingPortMapping : public IDispatch {
    687   public:
    688     virtual HRESULT WINAPI Disable(void) = 0;
    689     virtual HRESULT WINAPI Enable(void) = 0;
    690     virtual HRESULT WINAPI get_Properties(INetSharingPortMappingProps **ppNSPMP) = 0;
    691     virtual HRESULT WINAPI Delete(void) = 0;
    692   };
    693 #else
    694   typedef struct INetSharingPortMappingVtbl {
    695     BEGIN_INTERFACE
    696       HRESULT (WINAPI *QueryInterface)(INetSharingPortMapping *This,REFIID riid,void **ppvObject);
    697       ULONG (WINAPI *AddRef)(INetSharingPortMapping *This);
    698       ULONG (WINAPI *Release)(INetSharingPortMapping *This);
    699       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingPortMapping *This,UINT *pctinfo);
    700       HRESULT (WINAPI *GetTypeInfo)(INetSharingPortMapping *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    701       HRESULT (WINAPI *GetIDsOfNames)(INetSharingPortMapping *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    702       HRESULT (WINAPI *Invoke)(INetSharingPortMapping *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    703       HRESULT (WINAPI *Disable)(INetSharingPortMapping *This);
    704       HRESULT (WINAPI *Enable)(INetSharingPortMapping *This);
    705       HRESULT (WINAPI *get_Properties)(INetSharingPortMapping *This,INetSharingPortMappingProps **ppNSPMP);
    706       HRESULT (WINAPI *Delete)(INetSharingPortMapping *This);
    707     END_INTERFACE
    708   } INetSharingPortMappingVtbl;
    709   struct INetSharingPortMapping {
    710     CONST_VTBL struct INetSharingPortMappingVtbl *lpVtbl;
    711   };
    712 #ifdef COBJMACROS
    713 #define INetSharingPortMapping_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    714 #define INetSharingPortMapping_AddRef(This) (This)->lpVtbl->AddRef(This)
    715 #define INetSharingPortMapping_Release(This) (This)->lpVtbl->Release(This)
    716 #define INetSharingPortMapping_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    717 #define INetSharingPortMapping_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    718 #define INetSharingPortMapping_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    719 #define INetSharingPortMapping_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    720 #define INetSharingPortMapping_Disable(This) (This)->lpVtbl->Disable(This)
    721 #define INetSharingPortMapping_Enable(This) (This)->lpVtbl->Enable(This)
    722 #define INetSharingPortMapping_get_Properties(This,ppNSPMP) (This)->lpVtbl->get_Properties(This,ppNSPMP)
    723 #define INetSharingPortMapping_Delete(This) (This)->lpVtbl->Delete(This)
    724 #endif
    725 #endif
    726   HRESULT WINAPI INetSharingPortMapping_Disable_Proxy(INetSharingPortMapping *This);
    727   void __RPC_STUB INetSharingPortMapping_Disable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    728   HRESULT WINAPI INetSharingPortMapping_Enable_Proxy(INetSharingPortMapping *This);
    729   void __RPC_STUB INetSharingPortMapping_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    730   HRESULT WINAPI INetSharingPortMapping_get_Properties_Proxy(INetSharingPortMapping *This,INetSharingPortMappingProps **ppNSPMP);
    731   void __RPC_STUB INetSharingPortMapping_get_Properties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    732   HRESULT WINAPI INetSharingPortMapping_Delete_Proxy(INetSharingPortMapping *This);
    733   void __RPC_STUB INetSharingPortMapping_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    734 #endif
    735 
    736 #ifndef __IEnumNetSharingEveryConnection_INTERFACE_DEFINED__
    737 #define __IEnumNetSharingEveryConnection_INTERFACE_DEFINED__
    738   EXTERN_C const IID IID_IEnumNetSharingEveryConnection;
    739 #if defined(__cplusplus) && !defined(CINTERFACE)
    740   struct IEnumNetSharingEveryConnection : public IUnknown {
    741   public:
    742     virtual HRESULT WINAPI Next(ULONG celt,VARIANT *rgVar,ULONG *pceltFetched) = 0;
    743     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    744     virtual HRESULT WINAPI Reset(void) = 0;
    745     virtual HRESULT WINAPI Clone(IEnumNetSharingEveryConnection **ppenum) = 0;
    746   };
    747 #else
    748   typedef struct IEnumNetSharingEveryConnectionVtbl {
    749     BEGIN_INTERFACE
    750       HRESULT (WINAPI *QueryInterface)(IEnumNetSharingEveryConnection *This,REFIID riid,void **ppvObject);
    751       ULONG (WINAPI *AddRef)(IEnumNetSharingEveryConnection *This);
    752       ULONG (WINAPI *Release)(IEnumNetSharingEveryConnection *This);
    753       HRESULT (WINAPI *Next)(IEnumNetSharingEveryConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    754       HRESULT (WINAPI *Skip)(IEnumNetSharingEveryConnection *This,ULONG celt);
    755       HRESULT (WINAPI *Reset)(IEnumNetSharingEveryConnection *This);
    756       HRESULT (WINAPI *Clone)(IEnumNetSharingEveryConnection *This,IEnumNetSharingEveryConnection **ppenum);
    757     END_INTERFACE
    758   } IEnumNetSharingEveryConnectionVtbl;
    759   struct IEnumNetSharingEveryConnection {
    760     CONST_VTBL struct IEnumNetSharingEveryConnectionVtbl *lpVtbl;
    761   };
    762 #ifdef COBJMACROS
    763 #define IEnumNetSharingEveryConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    764 #define IEnumNetSharingEveryConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    765 #define IEnumNetSharingEveryConnection_Release(This) (This)->lpVtbl->Release(This)
    766 #define IEnumNetSharingEveryConnection_Next(This,celt,rgVar,pceltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pceltFetched)
    767 #define IEnumNetSharingEveryConnection_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    768 #define IEnumNetSharingEveryConnection_Reset(This) (This)->lpVtbl->Reset(This)
    769 #define IEnumNetSharingEveryConnection_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    770 #endif
    771 #endif
    772   HRESULT WINAPI IEnumNetSharingEveryConnection_Next_Proxy(IEnumNetSharingEveryConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    773   void __RPC_STUB IEnumNetSharingEveryConnection_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    774   HRESULT WINAPI IEnumNetSharingEveryConnection_Skip_Proxy(IEnumNetSharingEveryConnection *This,ULONG celt);
    775   void __RPC_STUB IEnumNetSharingEveryConnection_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    776   HRESULT WINAPI IEnumNetSharingEveryConnection_Reset_Proxy(IEnumNetSharingEveryConnection *This);
    777   void __RPC_STUB IEnumNetSharingEveryConnection_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    778   HRESULT WINAPI IEnumNetSharingEveryConnection_Clone_Proxy(IEnumNetSharingEveryConnection *This,IEnumNetSharingEveryConnection **ppenum);
    779   void __RPC_STUB IEnumNetSharingEveryConnection_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    780 #endif
    781 
    782 #ifndef __IEnumNetSharingPublicConnection_INTERFACE_DEFINED__
    783 #define __IEnumNetSharingPublicConnection_INTERFACE_DEFINED__
    784   EXTERN_C const IID IID_IEnumNetSharingPublicConnection;
    785 #if defined(__cplusplus) && !defined(CINTERFACE)
    786   struct IEnumNetSharingPublicConnection : public IUnknown {
    787   public:
    788     virtual HRESULT WINAPI Next(ULONG celt,VARIANT *rgVar,ULONG *pceltFetched) = 0;
    789     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    790     virtual HRESULT WINAPI Reset(void) = 0;
    791     virtual HRESULT WINAPI Clone(IEnumNetSharingPublicConnection **ppenum) = 0;
    792   };
    793 #else
    794   typedef struct IEnumNetSharingPublicConnectionVtbl {
    795     BEGIN_INTERFACE
    796       HRESULT (WINAPI *QueryInterface)(IEnumNetSharingPublicConnection *This,REFIID riid,void **ppvObject);
    797       ULONG (WINAPI *AddRef)(IEnumNetSharingPublicConnection *This);
    798       ULONG (WINAPI *Release)(IEnumNetSharingPublicConnection *This);
    799       HRESULT (WINAPI *Next)(IEnumNetSharingPublicConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    800       HRESULT (WINAPI *Skip)(IEnumNetSharingPublicConnection *This,ULONG celt);
    801       HRESULT (WINAPI *Reset)(IEnumNetSharingPublicConnection *This);
    802       HRESULT (WINAPI *Clone)(IEnumNetSharingPublicConnection *This,IEnumNetSharingPublicConnection **ppenum);
    803     END_INTERFACE
    804   } IEnumNetSharingPublicConnectionVtbl;
    805   struct IEnumNetSharingPublicConnection {
    806     CONST_VTBL struct IEnumNetSharingPublicConnectionVtbl *lpVtbl;
    807   };
    808 #ifdef COBJMACROS
    809 #define IEnumNetSharingPublicConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    810 #define IEnumNetSharingPublicConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    811 #define IEnumNetSharingPublicConnection_Release(This) (This)->lpVtbl->Release(This)
    812 #define IEnumNetSharingPublicConnection_Next(This,celt,rgVar,pceltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pceltFetched)
    813 #define IEnumNetSharingPublicConnection_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    814 #define IEnumNetSharingPublicConnection_Reset(This) (This)->lpVtbl->Reset(This)
    815 #define IEnumNetSharingPublicConnection_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    816 #endif
    817 #endif
    818   HRESULT WINAPI IEnumNetSharingPublicConnection_Next_Proxy(IEnumNetSharingPublicConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pceltFetched);
    819   void __RPC_STUB IEnumNetSharingPublicConnection_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    820   HRESULT WINAPI IEnumNetSharingPublicConnection_Skip_Proxy(IEnumNetSharingPublicConnection *This,ULONG celt);
    821   void __RPC_STUB IEnumNetSharingPublicConnection_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    822   HRESULT WINAPI IEnumNetSharingPublicConnection_Reset_Proxy(IEnumNetSharingPublicConnection *This);
    823   void __RPC_STUB IEnumNetSharingPublicConnection_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    824   HRESULT WINAPI IEnumNetSharingPublicConnection_Clone_Proxy(IEnumNetSharingPublicConnection *This,IEnumNetSharingPublicConnection **ppenum);
    825   void __RPC_STUB IEnumNetSharingPublicConnection_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    826 #endif
    827 
    828 #ifndef __IEnumNetSharingPrivateConnection_INTERFACE_DEFINED__
    829 #define __IEnumNetSharingPrivateConnection_INTERFACE_DEFINED__
    830   EXTERN_C const IID IID_IEnumNetSharingPrivateConnection;
    831 #if defined(__cplusplus) && !defined(CINTERFACE)
    832   struct IEnumNetSharingPrivateConnection : public IUnknown {
    833   public:
    834     virtual HRESULT WINAPI Next(ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched) = 0;
    835     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    836     virtual HRESULT WINAPI Reset(void) = 0;
    837     virtual HRESULT WINAPI Clone(IEnumNetSharingPrivateConnection **ppenum) = 0;
    838   };
    839 #else
    840   typedef struct IEnumNetSharingPrivateConnectionVtbl {
    841     BEGIN_INTERFACE
    842       HRESULT (WINAPI *QueryInterface)(IEnumNetSharingPrivateConnection *This,REFIID riid,void **ppvObject);
    843       ULONG (WINAPI *AddRef)(IEnumNetSharingPrivateConnection *This);
    844       ULONG (WINAPI *Release)(IEnumNetSharingPrivateConnection *This);
    845       HRESULT (WINAPI *Next)(IEnumNetSharingPrivateConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);
    846       HRESULT (WINAPI *Skip)(IEnumNetSharingPrivateConnection *This,ULONG celt);
    847       HRESULT (WINAPI *Reset)(IEnumNetSharingPrivateConnection *This);
    848       HRESULT (WINAPI *Clone)(IEnumNetSharingPrivateConnection *This,IEnumNetSharingPrivateConnection **ppenum);
    849     END_INTERFACE
    850   } IEnumNetSharingPrivateConnectionVtbl;
    851   struct IEnumNetSharingPrivateConnection {
    852     CONST_VTBL struct IEnumNetSharingPrivateConnectionVtbl *lpVtbl;
    853   };
    854 #ifdef COBJMACROS
    855 #define IEnumNetSharingPrivateConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    856 #define IEnumNetSharingPrivateConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
    857 #define IEnumNetSharingPrivateConnection_Release(This) (This)->lpVtbl->Release(This)
    858 #define IEnumNetSharingPrivateConnection_Next(This,celt,rgVar,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgVar,pCeltFetched)
    859 #define IEnumNetSharingPrivateConnection_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    860 #define IEnumNetSharingPrivateConnection_Reset(This) (This)->lpVtbl->Reset(This)
    861 #define IEnumNetSharingPrivateConnection_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    862 #endif
    863 #endif
    864   HRESULT WINAPI IEnumNetSharingPrivateConnection_Next_Proxy(IEnumNetSharingPrivateConnection *This,ULONG celt,VARIANT *rgVar,ULONG *pCeltFetched);
    865   void __RPC_STUB IEnumNetSharingPrivateConnection_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    866   HRESULT WINAPI IEnumNetSharingPrivateConnection_Skip_Proxy(IEnumNetSharingPrivateConnection *This,ULONG celt);
    867   void __RPC_STUB IEnumNetSharingPrivateConnection_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    868   HRESULT WINAPI IEnumNetSharingPrivateConnection_Reset_Proxy(IEnumNetSharingPrivateConnection *This);
    869   void __RPC_STUB IEnumNetSharingPrivateConnection_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    870   HRESULT WINAPI IEnumNetSharingPrivateConnection_Clone_Proxy(IEnumNetSharingPrivateConnection *This,IEnumNetSharingPrivateConnection **ppenum);
    871   void __RPC_STUB IEnumNetSharingPrivateConnection_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    872 #endif
    873 
    874 #ifndef __INetSharingPortMappingCollection_INTERFACE_DEFINED__
    875 #define __INetSharingPortMappingCollection_INTERFACE_DEFINED__
    876   EXTERN_C const IID IID_INetSharingPortMappingCollection;
    877 #if defined(__cplusplus) && !defined(CINTERFACE)
    878   struct INetSharingPortMappingCollection : public IDispatch {
    879   public:
    880     virtual HRESULT WINAPI get__NewEnum(IUnknown **pVal) = 0;
    881     virtual HRESULT WINAPI get_Count(__LONG32 *pVal) = 0;
    882   };
    883 #else
    884   typedef struct INetSharingPortMappingCollectionVtbl {
    885     BEGIN_INTERFACE
    886       HRESULT (WINAPI *QueryInterface)(INetSharingPortMappingCollection *This,REFIID riid,void **ppvObject);
    887       ULONG (WINAPI *AddRef)(INetSharingPortMappingCollection *This);
    888       ULONG (WINAPI *Release)(INetSharingPortMappingCollection *This);
    889       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingPortMappingCollection *This,UINT *pctinfo);
    890       HRESULT (WINAPI *GetTypeInfo)(INetSharingPortMappingCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    891       HRESULT (WINAPI *GetIDsOfNames)(INetSharingPortMappingCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    892       HRESULT (WINAPI *Invoke)(INetSharingPortMappingCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    893       HRESULT (WINAPI *get__NewEnum)(INetSharingPortMappingCollection *This,IUnknown **pVal);
    894       HRESULT (WINAPI *get_Count)(INetSharingPortMappingCollection *This,__LONG32 *pVal);
    895     END_INTERFACE
    896   } INetSharingPortMappingCollectionVtbl;
    897   struct INetSharingPortMappingCollection {
    898     CONST_VTBL struct INetSharingPortMappingCollectionVtbl *lpVtbl;
    899   };
    900 #ifdef COBJMACROS
    901 #define INetSharingPortMappingCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    902 #define INetSharingPortMappingCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
    903 #define INetSharingPortMappingCollection_Release(This) (This)->lpVtbl->Release(This)
    904 #define INetSharingPortMappingCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    905 #define INetSharingPortMappingCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    906 #define INetSharingPortMappingCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    907 #define INetSharingPortMappingCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    908 #define INetSharingPortMappingCollection_get__NewEnum(This,pVal) (This)->lpVtbl->get__NewEnum(This,pVal)
    909 #define INetSharingPortMappingCollection_get_Count(This,pVal) (This)->lpVtbl->get_Count(This,pVal)
    910 #endif
    911 #endif
    912   HRESULT WINAPI INetSharingPortMappingCollection_get__NewEnum_Proxy(INetSharingPortMappingCollection *This,IUnknown **pVal);
    913   void __RPC_STUB INetSharingPortMappingCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    914   HRESULT WINAPI INetSharingPortMappingCollection_get_Count_Proxy(INetSharingPortMappingCollection *This,__LONG32 *pVal);
    915   void __RPC_STUB INetSharingPortMappingCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    916 #endif
    917 
    918   extern RPC_IF_HANDLE __MIDL_itf_netcon_0133_v0_0_c_ifspec;
    919   extern RPC_IF_HANDLE __MIDL_itf_netcon_0133_v0_0_s_ifspec;
    920 
    921 #ifndef __INetConnectionProps_INTERFACE_DEFINED__
    922 #define __INetConnectionProps_INTERFACE_DEFINED__
    923   EXTERN_C const IID IID_INetConnectionProps;
    924 #if defined(__cplusplus) && !defined(CINTERFACE)
    925   struct INetConnectionProps : public IDispatch {
    926   public:
    927     virtual HRESULT WINAPI get_Guid(BSTR *pbstrGuid) = 0;
    928     virtual HRESULT WINAPI get_Name(BSTR *pbstrName) = 0;
    929     virtual HRESULT WINAPI get_DeviceName(BSTR *pbstrDeviceName) = 0;
    930     virtual HRESULT WINAPI get_Status(NETCON_STATUS *pStatus) = 0;
    931     virtual HRESULT WINAPI get_MediaType(NETCON_MEDIATYPE *pMediaType) = 0;
    932     virtual HRESULT WINAPI get_Characteristics(DWORD *pdwFlags) = 0;
    933   };
    934 #else
    935   typedef struct INetConnectionPropsVtbl {
    936     BEGIN_INTERFACE
    937       HRESULT (WINAPI *QueryInterface)(INetConnectionProps *This,REFIID riid,void **ppvObject);
    938       ULONG (WINAPI *AddRef)(INetConnectionProps *This);
    939       ULONG (WINAPI *Release)(INetConnectionProps *This);
    940       HRESULT (WINAPI *GetTypeInfoCount)(INetConnectionProps *This,UINT *pctinfo);
    941       HRESULT (WINAPI *GetTypeInfo)(INetConnectionProps *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    942       HRESULT (WINAPI *GetIDsOfNames)(INetConnectionProps *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    943       HRESULT (WINAPI *Invoke)(INetConnectionProps *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    944       HRESULT (WINAPI *get_Guid)(INetConnectionProps *This,BSTR *pbstrGuid);
    945       HRESULT (WINAPI *get_Name)(INetConnectionProps *This,BSTR *pbstrName);
    946       HRESULT (WINAPI *get_DeviceName)(INetConnectionProps *This,BSTR *pbstrDeviceName);
    947       HRESULT (WINAPI *get_Status)(INetConnectionProps *This,NETCON_STATUS *pStatus);
    948       HRESULT (WINAPI *get_MediaType)(INetConnectionProps *This,NETCON_MEDIATYPE *pMediaType);
    949       HRESULT (WINAPI *get_Characteristics)(INetConnectionProps *This,DWORD *pdwFlags);
    950     END_INTERFACE
    951   } INetConnectionPropsVtbl;
    952   struct INetConnectionProps {
    953     CONST_VTBL struct INetConnectionPropsVtbl *lpVtbl;
    954   };
    955 #ifdef COBJMACROS
    956 #define INetConnectionProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    957 #define INetConnectionProps_AddRef(This) (This)->lpVtbl->AddRef(This)
    958 #define INetConnectionProps_Release(This) (This)->lpVtbl->Release(This)
    959 #define INetConnectionProps_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    960 #define INetConnectionProps_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    961 #define INetConnectionProps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    962 #define INetConnectionProps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    963 #define INetConnectionProps_get_Guid(This,pbstrGuid) (This)->lpVtbl->get_Guid(This,pbstrGuid)
    964 #define INetConnectionProps_get_Name(This,pbstrName) (This)->lpVtbl->get_Name(This,pbstrName)
    965 #define INetConnectionProps_get_DeviceName(This,pbstrDeviceName) (This)->lpVtbl->get_DeviceName(This,pbstrDeviceName)
    966 #define INetConnectionProps_get_Status(This,pStatus) (This)->lpVtbl->get_Status(This,pStatus)
    967 #define INetConnectionProps_get_MediaType(This,pMediaType) (This)->lpVtbl->get_MediaType(This,pMediaType)
    968 #define INetConnectionProps_get_Characteristics(This,pdwFlags) (This)->lpVtbl->get_Characteristics(This,pdwFlags)
    969 #endif
    970 #endif
    971   HRESULT WINAPI INetConnectionProps_get_Guid_Proxy(INetConnectionProps *This,BSTR *pbstrGuid);
    972   void __RPC_STUB INetConnectionProps_get_Guid_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    973   HRESULT WINAPI INetConnectionProps_get_Name_Proxy(INetConnectionProps *This,BSTR *pbstrName);
    974   void __RPC_STUB INetConnectionProps_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    975   HRESULT WINAPI INetConnectionProps_get_DeviceName_Proxy(INetConnectionProps *This,BSTR *pbstrDeviceName);
    976   void __RPC_STUB INetConnectionProps_get_DeviceName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    977   HRESULT WINAPI INetConnectionProps_get_Status_Proxy(INetConnectionProps *This,NETCON_STATUS *pStatus);
    978   void __RPC_STUB INetConnectionProps_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    979   HRESULT WINAPI INetConnectionProps_get_MediaType_Proxy(INetConnectionProps *This,NETCON_MEDIATYPE *pMediaType);
    980   void __RPC_STUB INetConnectionProps_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    981   HRESULT WINAPI INetConnectionProps_get_Characteristics_Proxy(INetConnectionProps *This,DWORD *pdwFlags);
    982   void __RPC_STUB INetConnectionProps_get_Characteristics_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    983 #endif
    984 
    985 #ifndef __INetSharingConfiguration_INTERFACE_DEFINED__
    986 #define __INetSharingConfiguration_INTERFACE_DEFINED__
    987   typedef enum tagSHARINGCONNECTIONTYPE {
    988     ICSSHARINGTYPE_PUBLIC = 0,ICSSHARINGTYPE_PRIVATE = ICSSHARINGTYPE_PUBLIC + 1
    989   } SHARINGCONNECTIONTYPE;
    990   typedef enum tagSHARINGCONNECTIONTYPE *LPSHARINGCONNECTIONTYPE;
    991 
    992   typedef enum tagSHARINGCONNECTION_ENUM_FLAGS {
    993     ICSSC_DEFAULT = 0,ICSSC_ENABLED = ICSSC_DEFAULT + 1
    994   } SHARINGCONNECTION_ENUM_FLAGS;
    995 
    996   typedef enum tagICS_TARGETTYPE {
    997     ICSTT_NAME = 0,ICSTT_IPADDRESS = ICSTT_NAME + 1
    998   } ICS_TARGETTYPE;
    999 
   1000   EXTERN_C const IID IID_INetSharingConfiguration;
   1001 #if defined(__cplusplus) && !defined(CINTERFACE)
   1002   struct INetSharingConfiguration : public IDispatch {
   1003   public:
   1004     virtual HRESULT WINAPI get_SharingEnabled(VARIANT_BOOL *pbEnabled) = 0;
   1005     virtual HRESULT WINAPI get_SharingConnectionType(SHARINGCONNECTIONTYPE *pType) = 0;
   1006     virtual HRESULT WINAPI DisableSharing(void) = 0;
   1007     virtual HRESULT WINAPI EnableSharing(SHARINGCONNECTIONTYPE Type) = 0;
   1008     virtual HRESULT WINAPI get_InternetFirewallEnabled(VARIANT_BOOL *pbEnabled) = 0;
   1009     virtual HRESULT WINAPI DisableInternetFirewall(void) = 0;
   1010     virtual HRESULT WINAPI EnableInternetFirewall(void) = 0;
   1011     virtual HRESULT WINAPI get_EnumPortMappings(SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPortMappingCollection **ppColl) = 0;
   1012     virtual HRESULT WINAPI AddPortMapping(BSTR bstrName,UCHAR ucIPProtocol,USHORT usExternalPort,USHORT usInternalPort,DWORD dwOptions,BSTR bstrTargetNameOrIPAddress,ICS_TARGETTYPE eTargetType,INetSharingPortMapping **ppMapping) = 0;
   1013     virtual HRESULT WINAPI RemovePortMapping(INetSharingPortMapping *pMapping) = 0;
   1014   };
   1015 #else
   1016   typedef struct INetSharingConfigurationVtbl {
   1017     BEGIN_INTERFACE
   1018       HRESULT (WINAPI *QueryInterface)(INetSharingConfiguration *This,REFIID riid,void **ppvObject);
   1019       ULONG (WINAPI *AddRef)(INetSharingConfiguration *This);
   1020       ULONG (WINAPI *Release)(INetSharingConfiguration *This);
   1021       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingConfiguration *This,UINT *pctinfo);
   1022       HRESULT (WINAPI *GetTypeInfo)(INetSharingConfiguration *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1023       HRESULT (WINAPI *GetIDsOfNames)(INetSharingConfiguration *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1024       HRESULT (WINAPI *Invoke)(INetSharingConfiguration *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1025       HRESULT (WINAPI *get_SharingEnabled)(INetSharingConfiguration *This,VARIANT_BOOL *pbEnabled);
   1026       HRESULT (WINAPI *get_SharingConnectionType)(INetSharingConfiguration *This,SHARINGCONNECTIONTYPE *pType);
   1027       HRESULT (WINAPI *DisableSharing)(INetSharingConfiguration *This);
   1028       HRESULT (WINAPI *EnableSharing)(INetSharingConfiguration *This,SHARINGCONNECTIONTYPE Type);
   1029       HRESULT (WINAPI *get_InternetFirewallEnabled)(INetSharingConfiguration *This,VARIANT_BOOL *pbEnabled);
   1030       HRESULT (WINAPI *DisableInternetFirewall)(INetSharingConfiguration *This);
   1031       HRESULT (WINAPI *EnableInternetFirewall)(INetSharingConfiguration *This);
   1032       HRESULT (WINAPI *get_EnumPortMappings)(INetSharingConfiguration *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPortMappingCollection **ppColl);
   1033       HRESULT (WINAPI *AddPortMapping)(INetSharingConfiguration *This,BSTR bstrName,UCHAR ucIPProtocol,USHORT usExternalPort,USHORT usInternalPort,DWORD dwOptions,BSTR bstrTargetNameOrIPAddress,ICS_TARGETTYPE eTargetType,INetSharingPortMapping **ppMapping);
   1034       HRESULT (WINAPI *RemovePortMapping)(INetSharingConfiguration *This,INetSharingPortMapping *pMapping);
   1035     END_INTERFACE
   1036   } INetSharingConfigurationVtbl;
   1037   struct INetSharingConfiguration {
   1038     CONST_VTBL struct INetSharingConfigurationVtbl *lpVtbl;
   1039   };
   1040 #ifdef COBJMACROS
   1041 #define INetSharingConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1042 #define INetSharingConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
   1043 #define INetSharingConfiguration_Release(This) (This)->lpVtbl->Release(This)
   1044 #define INetSharingConfiguration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1045 #define INetSharingConfiguration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1046 #define INetSharingConfiguration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1047 #define INetSharingConfiguration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1048 #define INetSharingConfiguration_get_SharingEnabled(This,pbEnabled) (This)->lpVtbl->get_SharingEnabled(This,pbEnabled)
   1049 #define INetSharingConfiguration_get_SharingConnectionType(This,pType) (This)->lpVtbl->get_SharingConnectionType(This,pType)
   1050 #define INetSharingConfiguration_DisableSharing(This) (This)->lpVtbl->DisableSharing(This)
   1051 #define INetSharingConfiguration_EnableSharing(This,Type) (This)->lpVtbl->EnableSharing(This,Type)
   1052 #define INetSharingConfiguration_get_InternetFirewallEnabled(This,pbEnabled) (This)->lpVtbl->get_InternetFirewallEnabled(This,pbEnabled)
   1053 #define INetSharingConfiguration_DisableInternetFirewall(This) (This)->lpVtbl->DisableInternetFirewall(This)
   1054 #define INetSharingConfiguration_EnableInternetFirewall(This) (This)->lpVtbl->EnableInternetFirewall(This)
   1055 #define INetSharingConfiguration_get_EnumPortMappings(This,Flags,ppColl) (This)->lpVtbl->get_EnumPortMappings(This,Flags,ppColl)
   1056 #define INetSharingConfiguration_AddPortMapping(This,bstrName,ucIPProtocol,usExternalPort,usInternalPort,dwOptions,bstrTargetNameOrIPAddress,eTargetType,ppMapping) (This)->lpVtbl->AddPortMapping(This,bstrName,ucIPProtocol,usExternalPort,usInternalPort,dwOptions,bstrTargetNameOrIPAddress,eTargetType,ppMapping)
   1057 #define INetSharingConfiguration_RemovePortMapping(This,pMapping) (This)->lpVtbl->RemovePortMapping(This,pMapping)
   1058 #endif
   1059 #endif
   1060   HRESULT WINAPI INetSharingConfiguration_get_SharingEnabled_Proxy(INetSharingConfiguration *This,VARIANT_BOOL *pbEnabled);
   1061   void __RPC_STUB INetSharingConfiguration_get_SharingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1062   HRESULT WINAPI INetSharingConfiguration_get_SharingConnectionType_Proxy(INetSharingConfiguration *This,SHARINGCONNECTIONTYPE *pType);
   1063   void __RPC_STUB INetSharingConfiguration_get_SharingConnectionType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1064   HRESULT WINAPI INetSharingConfiguration_DisableSharing_Proxy(INetSharingConfiguration *This);
   1065   void __RPC_STUB INetSharingConfiguration_DisableSharing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1066   HRESULT WINAPI INetSharingConfiguration_EnableSharing_Proxy(INetSharingConfiguration *This,SHARINGCONNECTIONTYPE Type);
   1067   void __RPC_STUB INetSharingConfiguration_EnableSharing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1068   HRESULT WINAPI INetSharingConfiguration_get_InternetFirewallEnabled_Proxy(INetSharingConfiguration *This,VARIANT_BOOL *pbEnabled);
   1069   void __RPC_STUB INetSharingConfiguration_get_InternetFirewallEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1070   HRESULT WINAPI INetSharingConfiguration_DisableInternetFirewall_Proxy(INetSharingConfiguration *This);
   1071   void __RPC_STUB INetSharingConfiguration_DisableInternetFirewall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1072   HRESULT WINAPI INetSharingConfiguration_EnableInternetFirewall_Proxy(INetSharingConfiguration *This);
   1073   void __RPC_STUB INetSharingConfiguration_EnableInternetFirewall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1074   HRESULT WINAPI INetSharingConfiguration_get_EnumPortMappings_Proxy(INetSharingConfiguration *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPortMappingCollection **ppColl);
   1075   void __RPC_STUB INetSharingConfiguration_get_EnumPortMappings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1076   HRESULT WINAPI INetSharingConfiguration_AddPortMapping_Proxy(INetSharingConfiguration *This,BSTR bstrName,UCHAR ucIPProtocol,USHORT usExternalPort,USHORT usInternalPort,DWORD dwOptions,BSTR bstrTargetNameOrIPAddress,ICS_TARGETTYPE eTargetType,INetSharingPortMapping **ppMapping);
   1077   void __RPC_STUB INetSharingConfiguration_AddPortMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1078   HRESULT WINAPI INetSharingConfiguration_RemovePortMapping_Proxy(INetSharingConfiguration *This,INetSharingPortMapping *pMapping);
   1079   void __RPC_STUB INetSharingConfiguration_RemovePortMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1080 #endif
   1081 
   1082 #ifndef __INetSharingEveryConnectionCollection_INTERFACE_DEFINED__
   1083 #define __INetSharingEveryConnectionCollection_INTERFACE_DEFINED__
   1084   EXTERN_C const IID IID_INetSharingEveryConnectionCollection;
   1085 #if defined(__cplusplus) && !defined(CINTERFACE)
   1086   struct INetSharingEveryConnectionCollection : public IDispatch {
   1087   public:
   1088     virtual HRESULT WINAPI get__NewEnum(IUnknown **pVal) = 0;
   1089     virtual HRESULT WINAPI get_Count(__LONG32 *pVal) = 0;
   1090   };
   1091 #else
   1092   typedef struct INetSharingEveryConnectionCollectionVtbl {
   1093     BEGIN_INTERFACE
   1094       HRESULT (WINAPI *QueryInterface)(INetSharingEveryConnectionCollection *This,REFIID riid,void **ppvObject);
   1095       ULONG (WINAPI *AddRef)(INetSharingEveryConnectionCollection *This);
   1096       ULONG (WINAPI *Release)(INetSharingEveryConnectionCollection *This);
   1097       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingEveryConnectionCollection *This,UINT *pctinfo);
   1098       HRESULT (WINAPI *GetTypeInfo)(INetSharingEveryConnectionCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1099       HRESULT (WINAPI *GetIDsOfNames)(INetSharingEveryConnectionCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1100       HRESULT (WINAPI *Invoke)(INetSharingEveryConnectionCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1101       HRESULT (WINAPI *get__NewEnum)(INetSharingEveryConnectionCollection *This,IUnknown **pVal);
   1102       HRESULT (WINAPI *get_Count)(INetSharingEveryConnectionCollection *This,__LONG32 *pVal);
   1103     END_INTERFACE
   1104   } INetSharingEveryConnectionCollectionVtbl;
   1105   struct INetSharingEveryConnectionCollection {
   1106     CONST_VTBL struct INetSharingEveryConnectionCollectionVtbl *lpVtbl;
   1107   };
   1108 #ifdef COBJMACROS
   1109 #define INetSharingEveryConnectionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1110 #define INetSharingEveryConnectionCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1111 #define INetSharingEveryConnectionCollection_Release(This) (This)->lpVtbl->Release(This)
   1112 #define INetSharingEveryConnectionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1113 #define INetSharingEveryConnectionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1114 #define INetSharingEveryConnectionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1115 #define INetSharingEveryConnectionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1116 #define INetSharingEveryConnectionCollection_get__NewEnum(This,pVal) (This)->lpVtbl->get__NewEnum(This,pVal)
   1117 #define INetSharingEveryConnectionCollection_get_Count(This,pVal) (This)->lpVtbl->get_Count(This,pVal)
   1118 #endif
   1119 #endif
   1120   HRESULT WINAPI INetSharingEveryConnectionCollection_get__NewEnum_Proxy(INetSharingEveryConnectionCollection *This,IUnknown **pVal);
   1121   void __RPC_STUB INetSharingEveryConnectionCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1122   HRESULT WINAPI INetSharingEveryConnectionCollection_get_Count_Proxy(INetSharingEveryConnectionCollection *This,__LONG32 *pVal);
   1123   void __RPC_STUB INetSharingEveryConnectionCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1124 #endif
   1125 
   1126 #ifndef __INetSharingPublicConnectionCollection_INTERFACE_DEFINED__
   1127 #define __INetSharingPublicConnectionCollection_INTERFACE_DEFINED__
   1128   EXTERN_C const IID IID_INetSharingPublicConnectionCollection;
   1129 #if defined(__cplusplus) && !defined(CINTERFACE)
   1130   struct INetSharingPublicConnectionCollection : public IDispatch {
   1131   public:
   1132     virtual HRESULT WINAPI get__NewEnum(IUnknown **pVal) = 0;
   1133     virtual HRESULT WINAPI get_Count(__LONG32 *pVal) = 0;
   1134   };
   1135 #else
   1136   typedef struct INetSharingPublicConnectionCollectionVtbl {
   1137     BEGIN_INTERFACE
   1138       HRESULT (WINAPI *QueryInterface)(INetSharingPublicConnectionCollection *This,REFIID riid,void **ppvObject);
   1139       ULONG (WINAPI *AddRef)(INetSharingPublicConnectionCollection *This);
   1140       ULONG (WINAPI *Release)(INetSharingPublicConnectionCollection *This);
   1141       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingPublicConnectionCollection *This,UINT *pctinfo);
   1142       HRESULT (WINAPI *GetTypeInfo)(INetSharingPublicConnectionCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1143       HRESULT (WINAPI *GetIDsOfNames)(INetSharingPublicConnectionCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1144       HRESULT (WINAPI *Invoke)(INetSharingPublicConnectionCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1145       HRESULT (WINAPI *get__NewEnum)(INetSharingPublicConnectionCollection *This,IUnknown **pVal);
   1146       HRESULT (WINAPI *get_Count)(INetSharingPublicConnectionCollection *This,__LONG32 *pVal);
   1147     END_INTERFACE
   1148   } INetSharingPublicConnectionCollectionVtbl;
   1149   struct INetSharingPublicConnectionCollection {
   1150     CONST_VTBL struct INetSharingPublicConnectionCollectionVtbl *lpVtbl;
   1151   };
   1152 #ifdef COBJMACROS
   1153 #define INetSharingPublicConnectionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1154 #define INetSharingPublicConnectionCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1155 #define INetSharingPublicConnectionCollection_Release(This) (This)->lpVtbl->Release(This)
   1156 #define INetSharingPublicConnectionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1157 #define INetSharingPublicConnectionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1158 #define INetSharingPublicConnectionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1159 #define INetSharingPublicConnectionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1160 #define INetSharingPublicConnectionCollection_get__NewEnum(This,pVal) (This)->lpVtbl->get__NewEnum(This,pVal)
   1161 #define INetSharingPublicConnectionCollection_get_Count(This,pVal) (This)->lpVtbl->get_Count(This,pVal)
   1162 #endif
   1163 #endif
   1164   HRESULT WINAPI INetSharingPublicConnectionCollection_get__NewEnum_Proxy(INetSharingPublicConnectionCollection *This,IUnknown **pVal);
   1165   void __RPC_STUB INetSharingPublicConnectionCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1166   HRESULT WINAPI INetSharingPublicConnectionCollection_get_Count_Proxy(INetSharingPublicConnectionCollection *This,__LONG32 *pVal);
   1167   void __RPC_STUB INetSharingPublicConnectionCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1168 #endif
   1169 
   1170 #ifndef __INetSharingPrivateConnectionCollection_INTERFACE_DEFINED__
   1171 #define __INetSharingPrivateConnectionCollection_INTERFACE_DEFINED__
   1172   EXTERN_C const IID IID_INetSharingPrivateConnectionCollection;
   1173 #if defined(__cplusplus) && !defined(CINTERFACE)
   1174   struct INetSharingPrivateConnectionCollection : public IDispatch {
   1175   public:
   1176     virtual HRESULT WINAPI get__NewEnum(IUnknown **pVal) = 0;
   1177     virtual HRESULT WINAPI get_Count(__LONG32 *pVal) = 0;
   1178   };
   1179 #else
   1180   typedef struct INetSharingPrivateConnectionCollectionVtbl {
   1181     BEGIN_INTERFACE
   1182       HRESULT (WINAPI *QueryInterface)(INetSharingPrivateConnectionCollection *This,REFIID riid,void **ppvObject);
   1183       ULONG (WINAPI *AddRef)(INetSharingPrivateConnectionCollection *This);
   1184       ULONG (WINAPI *Release)(INetSharingPrivateConnectionCollection *This);
   1185       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingPrivateConnectionCollection *This,UINT *pctinfo);
   1186       HRESULT (WINAPI *GetTypeInfo)(INetSharingPrivateConnectionCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1187       HRESULT (WINAPI *GetIDsOfNames)(INetSharingPrivateConnectionCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1188       HRESULT (WINAPI *Invoke)(INetSharingPrivateConnectionCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1189       HRESULT (WINAPI *get__NewEnum)(INetSharingPrivateConnectionCollection *This,IUnknown **pVal);
   1190       HRESULT (WINAPI *get_Count)(INetSharingPrivateConnectionCollection *This,__LONG32 *pVal);
   1191     END_INTERFACE
   1192   } INetSharingPrivateConnectionCollectionVtbl;
   1193   struct INetSharingPrivateConnectionCollection {
   1194     CONST_VTBL struct INetSharingPrivateConnectionCollectionVtbl *lpVtbl;
   1195   };
   1196 #ifdef COBJMACROS
   1197 #define INetSharingPrivateConnectionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1198 #define INetSharingPrivateConnectionCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1199 #define INetSharingPrivateConnectionCollection_Release(This) (This)->lpVtbl->Release(This)
   1200 #define INetSharingPrivateConnectionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1201 #define INetSharingPrivateConnectionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1202 #define INetSharingPrivateConnectionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1203 #define INetSharingPrivateConnectionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1204 #define INetSharingPrivateConnectionCollection_get__NewEnum(This,pVal) (This)->lpVtbl->get__NewEnum(This,pVal)
   1205 #define INetSharingPrivateConnectionCollection_get_Count(This,pVal) (This)->lpVtbl->get_Count(This,pVal)
   1206 #endif
   1207 #endif
   1208   HRESULT WINAPI INetSharingPrivateConnectionCollection_get__NewEnum_Proxy(INetSharingPrivateConnectionCollection *This,IUnknown **pVal);
   1209   void __RPC_STUB INetSharingPrivateConnectionCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1210   HRESULT WINAPI INetSharingPrivateConnectionCollection_get_Count_Proxy(INetSharingPrivateConnectionCollection *This,__LONG32 *pVal);
   1211   void __RPC_STUB INetSharingPrivateConnectionCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1212 #endif
   1213 
   1214 #ifndef __INetSharingManager_INTERFACE_DEFINED__
   1215 #define __INetSharingManager_INTERFACE_DEFINED__
   1216   EXTERN_C const IID IID_INetSharingManager;
   1217 #if defined(__cplusplus) && !defined(CINTERFACE)
   1218   struct INetSharingManager : public IDispatch {
   1219   public:
   1220     virtual HRESULT WINAPI get_SharingInstalled(VARIANT_BOOL *pbInstalled) = 0;
   1221     virtual HRESULT WINAPI get_EnumPublicConnections(SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPublicConnectionCollection **ppColl) = 0;
   1222     virtual HRESULT WINAPI get_EnumPrivateConnections(SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPrivateConnectionCollection **ppColl) = 0;
   1223     virtual HRESULT WINAPI get_INetSharingConfigurationForINetConnection(INetConnection *pNetConnection,INetSharingConfiguration **ppNetSharingConfiguration) = 0;
   1224     virtual HRESULT WINAPI get_EnumEveryConnection(INetSharingEveryConnectionCollection **ppColl) = 0;
   1225     virtual HRESULT WINAPI get_NetConnectionProps(INetConnection *pNetConnection,INetConnectionProps **ppProps) = 0;
   1226   };
   1227 #else
   1228   typedef struct INetSharingManagerVtbl {
   1229     BEGIN_INTERFACE
   1230       HRESULT (WINAPI *QueryInterface)(INetSharingManager *This,REFIID riid,void **ppvObject);
   1231       ULONG (WINAPI *AddRef)(INetSharingManager *This);
   1232       ULONG (WINAPI *Release)(INetSharingManager *This);
   1233       HRESULT (WINAPI *GetTypeInfoCount)(INetSharingManager *This,UINT *pctinfo);
   1234       HRESULT (WINAPI *GetTypeInfo)(INetSharingManager *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1235       HRESULT (WINAPI *GetIDsOfNames)(INetSharingManager *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1236       HRESULT (WINAPI *Invoke)(INetSharingManager *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1237       HRESULT (WINAPI *get_SharingInstalled)(INetSharingManager *This,VARIANT_BOOL *pbInstalled);
   1238       HRESULT (WINAPI *get_EnumPublicConnections)(INetSharingManager *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPublicConnectionCollection **ppColl);
   1239       HRESULT (WINAPI *get_EnumPrivateConnections)(INetSharingManager *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPrivateConnectionCollection **ppColl);
   1240       HRESULT (WINAPI *get_INetSharingConfigurationForINetConnection)(INetSharingManager *This,INetConnection *pNetConnection,INetSharingConfiguration **ppNetSharingConfiguration);
   1241       HRESULT (WINAPI *get_EnumEveryConnection)(INetSharingManager *This,INetSharingEveryConnectionCollection **ppColl);
   1242       HRESULT (WINAPI *get_NetConnectionProps)(INetSharingManager *This,INetConnection *pNetConnection,INetConnectionProps **ppProps);
   1243     END_INTERFACE
   1244   } INetSharingManagerVtbl;
   1245   struct INetSharingManager {
   1246     CONST_VTBL struct INetSharingManagerVtbl *lpVtbl;
   1247   };
   1248 #ifdef COBJMACROS
   1249 #define INetSharingManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1250 #define INetSharingManager_AddRef(This) (This)->lpVtbl->AddRef(This)
   1251 #define INetSharingManager_Release(This) (This)->lpVtbl->Release(This)
   1252 #define INetSharingManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1253 #define INetSharingManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1254 #define INetSharingManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1255 #define INetSharingManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1256 #define INetSharingManager_get_SharingInstalled(This,pbInstalled) (This)->lpVtbl->get_SharingInstalled(This,pbInstalled)
   1257 #define INetSharingManager_get_EnumPublicConnections(This,Flags,ppColl) (This)->lpVtbl->get_EnumPublicConnections(This,Flags,ppColl)
   1258 #define INetSharingManager_get_EnumPrivateConnections(This,Flags,ppColl) (This)->lpVtbl->get_EnumPrivateConnections(This,Flags,ppColl)
   1259 #define INetSharingManager_get_INetSharingConfigurationForINetConnection(This,pNetConnection,ppNetSharingConfiguration) (This)->lpVtbl->get_INetSharingConfigurationForINetConnection(This,pNetConnection,ppNetSharingConfiguration)
   1260 #define INetSharingManager_get_EnumEveryConnection(This,ppColl) (This)->lpVtbl->get_EnumEveryConnection(This,ppColl)
   1261 #define INetSharingManager_get_NetConnectionProps(This,pNetConnection,ppProps) (This)->lpVtbl->get_NetConnectionProps(This,pNetConnection,ppProps)
   1262 #endif
   1263 #endif
   1264   HRESULT WINAPI INetSharingManager_get_SharingInstalled_Proxy(INetSharingManager *This,VARIANT_BOOL *pbInstalled);
   1265   void __RPC_STUB INetSharingManager_get_SharingInstalled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1266   HRESULT WINAPI INetSharingManager_get_EnumPublicConnections_Proxy(INetSharingManager *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPublicConnectionCollection **ppColl);
   1267   void __RPC_STUB INetSharingManager_get_EnumPublicConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1268   HRESULT WINAPI INetSharingManager_get_EnumPrivateConnections_Proxy(INetSharingManager *This,SHARINGCONNECTION_ENUM_FLAGS Flags,INetSharingPrivateConnectionCollection **ppColl);
   1269   void __RPC_STUB INetSharingManager_get_EnumPrivateConnections_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1270   HRESULT WINAPI INetSharingManager_get_INetSharingConfigurationForINetConnection_Proxy(INetSharingManager *This,INetConnection *pNetConnection,INetSharingConfiguration **ppNetSharingConfiguration);
   1271   void __RPC_STUB INetSharingManager_get_INetSharingConfigurationForINetConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1272   HRESULT WINAPI INetSharingManager_get_EnumEveryConnection_Proxy(INetSharingManager *This,INetSharingEveryConnectionCollection **ppColl);
   1273   void __RPC_STUB INetSharingManager_get_EnumEveryConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1274   HRESULT WINAPI INetSharingManager_get_NetConnectionProps_Proxy(INetSharingManager *This,INetConnection *pNetConnection,INetConnectionProps **ppProps);
   1275   void __RPC_STUB INetSharingManager_get_NetConnectionProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1276 #endif
   1277 
   1278 #ifndef __NETCONLib_LIBRARY_DEFINED__
   1279 #define __NETCONLib_LIBRARY_DEFINED__
   1280   EXTERN_C const IID LIBID_NETCONLib;
   1281   EXTERN_C const CLSID CLSID_NetSharingManager;
   1282 #ifdef __cplusplus
   1283   class NetSharingManager;
   1284 #endif
   1285 #endif
   1286 
   1287   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
   1288   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
   1289   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
   1290   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
   1291   ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
   1292   unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
   1293   unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
   1294   void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
   1295 
   1296 #ifdef __cplusplus
   1297 }
   1298 #endif
   1299 #endif
   1300