NetCon.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:138k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for netcon.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __netcon_h__
  27. #define __netcon_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IEnumNetConnection_FWD_DEFINED__
  33. #define __IEnumNetConnection_FWD_DEFINED__
  34. typedef interface IEnumNetConnection IEnumNetConnection;
  35. #endif  /* __IEnumNetConnection_FWD_DEFINED__ */
  36. #ifndef __INetConnection_FWD_DEFINED__
  37. #define __INetConnection_FWD_DEFINED__
  38. typedef interface INetConnection INetConnection;
  39. #endif  /* __INetConnection_FWD_DEFINED__ */
  40. #ifndef __INetConnectionManager_FWD_DEFINED__
  41. #define __INetConnectionManager_FWD_DEFINED__
  42. typedef interface INetConnectionManager INetConnectionManager;
  43. #endif  /* __INetConnectionManager_FWD_DEFINED__ */
  44. #ifndef __INetConnectionManagerEvents_FWD_DEFINED__
  45. #define __INetConnectionManagerEvents_FWD_DEFINED__
  46. typedef interface INetConnectionManagerEvents INetConnectionManagerEvents;
  47. #endif  /* __INetConnectionManagerEvents_FWD_DEFINED__ */
  48. #ifndef __INetConnectionConnectUi_FWD_DEFINED__
  49. #define __INetConnectionConnectUi_FWD_DEFINED__
  50. typedef interface INetConnectionConnectUi INetConnectionConnectUi;
  51. #endif  /* __INetConnectionConnectUi_FWD_DEFINED__ */
  52. #ifndef __INetConnectionPropertyUi_FWD_DEFINED__
  53. #define __INetConnectionPropertyUi_FWD_DEFINED__
  54. typedef interface INetConnectionPropertyUi INetConnectionPropertyUi;
  55. #endif  /* __INetConnectionPropertyUi_FWD_DEFINED__ */
  56. #ifndef __INetConnectionPropertyUi2_FWD_DEFINED__
  57. #define __INetConnectionPropertyUi2_FWD_DEFINED__
  58. typedef interface INetConnectionPropertyUi2 INetConnectionPropertyUi2;
  59. #endif  /* __INetConnectionPropertyUi2_FWD_DEFINED__ */
  60. #ifndef __INetConnectionCommonUi_FWD_DEFINED__
  61. #define __INetConnectionCommonUi_FWD_DEFINED__
  62. typedef interface INetConnectionCommonUi INetConnectionCommonUi;
  63. #endif  /* __INetConnectionCommonUi_FWD_DEFINED__ */
  64. #ifndef __IEnumNetSharingPortMapping_FWD_DEFINED__
  65. #define __IEnumNetSharingPortMapping_FWD_DEFINED__
  66. typedef interface IEnumNetSharingPortMapping IEnumNetSharingPortMapping;
  67. #endif  /* __IEnumNetSharingPortMapping_FWD_DEFINED__ */
  68. #ifndef __INetSharingPortMappingProps_FWD_DEFINED__
  69. #define __INetSharingPortMappingProps_FWD_DEFINED__
  70. typedef interface INetSharingPortMappingProps INetSharingPortMappingProps;
  71. #endif  /* __INetSharingPortMappingProps_FWD_DEFINED__ */
  72. #ifndef __INetSharingPortMapping_FWD_DEFINED__
  73. #define __INetSharingPortMapping_FWD_DEFINED__
  74. typedef interface INetSharingPortMapping INetSharingPortMapping;
  75. #endif  /* __INetSharingPortMapping_FWD_DEFINED__ */
  76. #ifndef __IEnumNetSharingEveryConnection_FWD_DEFINED__
  77. #define __IEnumNetSharingEveryConnection_FWD_DEFINED__
  78. typedef interface IEnumNetSharingEveryConnection IEnumNetSharingEveryConnection;
  79. #endif  /* __IEnumNetSharingEveryConnection_FWD_DEFINED__ */
  80. #ifndef __IEnumNetSharingPublicConnection_FWD_DEFINED__
  81. #define __IEnumNetSharingPublicConnection_FWD_DEFINED__
  82. typedef interface IEnumNetSharingPublicConnection IEnumNetSharingPublicConnection;
  83. #endif  /* __IEnumNetSharingPublicConnection_FWD_DEFINED__ */
  84. #ifndef __IEnumNetSharingPrivateConnection_FWD_DEFINED__
  85. #define __IEnumNetSharingPrivateConnection_FWD_DEFINED__
  86. typedef interface IEnumNetSharingPrivateConnection IEnumNetSharingPrivateConnection;
  87. #endif  /* __IEnumNetSharingPrivateConnection_FWD_DEFINED__ */
  88. #ifndef __INetSharingPortMappingCollection_FWD_DEFINED__
  89. #define __INetSharingPortMappingCollection_FWD_DEFINED__
  90. typedef interface INetSharingPortMappingCollection INetSharingPortMappingCollection;
  91. #endif  /* __INetSharingPortMappingCollection_FWD_DEFINED__ */
  92. #ifndef __INetConnectionProps_FWD_DEFINED__
  93. #define __INetConnectionProps_FWD_DEFINED__
  94. typedef interface INetConnectionProps INetConnectionProps;
  95. #endif  /* __INetConnectionProps_FWD_DEFINED__ */
  96. #ifndef __INetSharingConfiguration_FWD_DEFINED__
  97. #define __INetSharingConfiguration_FWD_DEFINED__
  98. typedef interface INetSharingConfiguration INetSharingConfiguration;
  99. #endif  /* __INetSharingConfiguration_FWD_DEFINED__ */
  100. #ifndef __INetSharingEveryConnectionCollection_FWD_DEFINED__
  101. #define __INetSharingEveryConnectionCollection_FWD_DEFINED__
  102. typedef interface INetSharingEveryConnectionCollection INetSharingEveryConnectionCollection;
  103. #endif  /* __INetSharingEveryConnectionCollection_FWD_DEFINED__ */
  104. #ifndef __INetSharingPublicConnectionCollection_FWD_DEFINED__
  105. #define __INetSharingPublicConnectionCollection_FWD_DEFINED__
  106. typedef interface INetSharingPublicConnectionCollection INetSharingPublicConnectionCollection;
  107. #endif  /* __INetSharingPublicConnectionCollection_FWD_DEFINED__ */
  108. #ifndef __INetSharingPrivateConnectionCollection_FWD_DEFINED__
  109. #define __INetSharingPrivateConnectionCollection_FWD_DEFINED__
  110. typedef interface INetSharingPrivateConnectionCollection INetSharingPrivateConnectionCollection;
  111. #endif  /* __INetSharingPrivateConnectionCollection_FWD_DEFINED__ */
  112. #ifndef __INetSharingManager_FWD_DEFINED__
  113. #define __INetSharingManager_FWD_DEFINED__
  114. typedef interface INetSharingManager INetSharingManager;
  115. #endif  /* __INetSharingManager_FWD_DEFINED__ */
  116. #ifndef __IAlgSetup_FWD_DEFINED__
  117. #define __IAlgSetup_FWD_DEFINED__
  118. typedef interface IAlgSetup IAlgSetup;
  119. #endif  /* __IAlgSetup_FWD_DEFINED__ */
  120. #ifndef __NetSharingManager_FWD_DEFINED__
  121. #define __NetSharingManager_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class NetSharingManager NetSharingManager;
  124. #else
  125. typedef struct NetSharingManager NetSharingManager;
  126. #endif /* __cplusplus */
  127. #endif  /* __NetSharingManager_FWD_DEFINED__ */
  128. #ifndef __AlgSetup_FWD_DEFINED__
  129. #define __AlgSetup_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class AlgSetup AlgSetup;
  132. #else
  133. typedef struct AlgSetup AlgSetup;
  134. #endif /* __cplusplus */
  135. #endif  /* __AlgSetup_FWD_DEFINED__ */
  136. /* header files for imported files */
  137. #include "oaidl.h"
  138. #include "prsht.h"
  139. #ifdef __cplusplus
  140. extern "C"{
  141. #endif 
  142. void * __RPC_USER MIDL_user_allocate(size_t);
  143. void __RPC_USER MIDL_user_free( void * ); 
  144. /* interface __MIDL_itf_netcon_0000 */
  145. /* [local] */ 
  146. //+-------------------------------------------------------------------------
  147. //
  148. //  Microsoft Windows
  149. //  Copyright (c) Microsoft Corporation. All rights reserved.
  150. //
  151. //--------------------------------------------------------------------------
  152. #if ( _MSC_VER >= 800 )
  153. #pragma warning(disable:4201)
  154. #endif
  155. EXTERN_C const CLSID CLSID_ConnectionManager;
  156. EXTERN_C const CLSID CLSID_ConnectionCommonUi;
  157. EXTERN_C const CLSID CLSID_NetSharingManager;
  158. //These strings reference the HKEY_CURRENT_USER registry which
  159. //retains whether shortcuts are created on the desktop.
  160. #define NETCON_HKEYCURRENTUSERPATH      TEXT("Software\Microsoft\Windows NT\CurrentVersion\Network\Network Connections")
  161. #define NETCON_DESKTOPSHORTCUT          TEXT("DesktopShortcut")
  162. #define NETCON_MAX_NAME_LEN 246
  163. extern RPC_IF_HANDLE __MIDL_itf_netcon_0000_v0_0_c_ifspec;
  164. extern RPC_IF_HANDLE __MIDL_itf_netcon_0000_v0_0_s_ifspec;
  165. #ifndef __IEnumNetConnection_INTERFACE_DEFINED__
  166. #define __IEnumNetConnection_INTERFACE_DEFINED__
  167. /* interface IEnumNetConnection */
  168. /* [unique][uuid][object] */ 
  169. EXTERN_C const IID IID_IEnumNetConnection;
  170. #if defined(__cplusplus) && !defined(CINTERFACE)
  171.     
  172.     MIDL_INTERFACE("C08956A0-1CD3-11D1-B1C5-00805FC1270E")
  173.     IEnumNetConnection : public IUnknown
  174.     {
  175.     public:
  176.         virtual HRESULT STDMETHODCALLTYPE Next( 
  177.             /* [in] */ ULONG celt,
  178.             /* [length_is][size_is][out] */ INetConnection **rgelt,
  179.             /* [out] */ ULONG *pceltFetched) = 0;
  180.         
  181.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  182.             /* [in] */ ULONG celt) = 0;
  183.         
  184.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  185.         
  186.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  187.             /* [out] */ IEnumNetConnection **ppenum) = 0;
  188.         
  189.     };
  190.     
  191. #else  /* C style interface */
  192.     typedef struct IEnumNetConnectionVtbl
  193.     {
  194.         BEGIN_INTERFACE
  195.         
  196.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  197.             IEnumNetConnection * This,
  198.             /* [in] */ REFIID riid,
  199.             /* [iid_is][out] */ void **ppvObject);
  200.         
  201.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  202.             IEnumNetConnection * This);
  203.         
  204.         ULONG ( STDMETHODCALLTYPE *Release )( 
  205.             IEnumNetConnection * This);
  206.         
  207.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  208.             IEnumNetConnection * This,
  209.             /* [in] */ ULONG celt,
  210.             /* [length_is][size_is][out] */ INetConnection **rgelt,
  211.             /* [out] */ ULONG *pceltFetched);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  214.             IEnumNetConnection * This,
  215.             /* [in] */ ULONG celt);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  218.             IEnumNetConnection * This);
  219.         
  220.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  221.             IEnumNetConnection * This,
  222.             /* [out] */ IEnumNetConnection **ppenum);
  223.         
  224.         END_INTERFACE
  225.     } IEnumNetConnectionVtbl;
  226.     interface IEnumNetConnection
  227.     {
  228.         CONST_VTBL struct IEnumNetConnectionVtbl *lpVtbl;
  229.     };
  230.     
  231. #ifdef COBJMACROS
  232. #define IEnumNetConnection_QueryInterface(This,riid,ppvObject)
  233.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  234. #define IEnumNetConnection_AddRef(This)
  235.     (This)->lpVtbl -> AddRef(This)
  236. #define IEnumNetConnection_Release(This)
  237.     (This)->lpVtbl -> Release(This)
  238. #define IEnumNetConnection_Next(This,celt,rgelt,pceltFetched)
  239.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  240. #define IEnumNetConnection_Skip(This,celt)
  241.     (This)->lpVtbl -> Skip(This,celt)
  242. #define IEnumNetConnection_Reset(This)
  243.     (This)->lpVtbl -> Reset(This)
  244. #define IEnumNetConnection_Clone(This,ppenum)
  245.     (This)->lpVtbl -> Clone(This,ppenum)
  246. #endif /* COBJMACROS */
  247. #endif  /* C style interface */
  248. HRESULT STDMETHODCALLTYPE IEnumNetConnection_Next_Proxy( 
  249.     IEnumNetConnection * This,
  250.     /* [in] */ ULONG celt,
  251.     /* [length_is][size_is][out] */ INetConnection **rgelt,
  252.     /* [out] */ ULONG *pceltFetched);
  253. void __RPC_STUB IEnumNetConnection_Next_Stub(
  254.     IRpcStubBuffer *This,
  255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  256.     PRPC_MESSAGE _pRpcMessage,
  257.     DWORD *_pdwStubPhase);
  258. HRESULT STDMETHODCALLTYPE IEnumNetConnection_Skip_Proxy( 
  259.     IEnumNetConnection * This,
  260.     /* [in] */ ULONG celt);
  261. void __RPC_STUB IEnumNetConnection_Skip_Stub(
  262.     IRpcStubBuffer *This,
  263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  264.     PRPC_MESSAGE _pRpcMessage,
  265.     DWORD *_pdwStubPhase);
  266. HRESULT STDMETHODCALLTYPE IEnumNetConnection_Reset_Proxy( 
  267.     IEnumNetConnection * This);
  268. void __RPC_STUB IEnumNetConnection_Reset_Stub(
  269.     IRpcStubBuffer *This,
  270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  271.     PRPC_MESSAGE _pRpcMessage,
  272.     DWORD *_pdwStubPhase);
  273. HRESULT STDMETHODCALLTYPE IEnumNetConnection_Clone_Proxy( 
  274.     IEnumNetConnection * This,
  275.     /* [out] */ IEnumNetConnection **ppenum);
  276. void __RPC_STUB IEnumNetConnection_Clone_Stub(
  277.     IRpcStubBuffer *This,
  278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  279.     PRPC_MESSAGE _pRpcMessage,
  280.     DWORD *_pdwStubPhase);
  281. #endif  /* __IEnumNetConnection_INTERFACE_DEFINED__ */
  282. #ifndef __INetConnection_INTERFACE_DEFINED__
  283. #define __INetConnection_INTERFACE_DEFINED__
  284. /* interface INetConnection */
  285. /* [unique][uuid][object] */ 
  286. typedef 
  287. enum tagNETCON_CHARACTERISTIC_FLAGS
  288.     { NCCF_NONE = 0,
  289. NCCF_ALL_USERS = 0x1,
  290. NCCF_ALLOW_DUPLICATION = 0x2,
  291. NCCF_ALLOW_REMOVAL = 0x4,
  292. NCCF_ALLOW_RENAME = 0x8,
  293. NCCF_SHOW_ICON = 0x10,
  294. NCCF_INCOMING_ONLY = 0x20,
  295. NCCF_OUTGOING_ONLY = 0x40,
  296. NCCF_BRANDED = 0x80,
  297. NCCF_SHARED = 0x100,
  298. NCCF_BRIDGED = 0x200,
  299. NCCF_FIREWALLED = 0x400,
  300. NCCF_DEFAULT = 0x800
  301.     }  NETCON_CHARACTERISTIC_FLAGS;
  302. typedef 
  303. enum tagNETCON_STATUS
  304.     { NCS_DISCONNECTED = 0,
  305. NCS_CONNECTING = NCS_DISCONNECTED + 1,
  306. NCS_CONNECTED = NCS_CONNECTING + 1,
  307. NCS_DISCONNECTING = NCS_CONNECTED + 1,
  308. NCS_HARDWARE_NOT_PRESENT = NCS_DISCONNECTING + 1,
  309. NCS_HARDWARE_DISABLED = NCS_HARDWARE_NOT_PRESENT + 1,
  310. NCS_HARDWARE_MALFUNCTION = NCS_HARDWARE_DISABLED + 1,
  311. NCS_MEDIA_DISCONNECTED = NCS_HARDWARE_MALFUNCTION + 1,
  312. NCS_AUTHENTICATING = NCS_MEDIA_DISCONNECTED + 1,
  313. NCS_AUTHENTICATION_SUCCEEDED = NCS_AUTHENTICATING + 1,
  314. NCS_AUTHENTICATION_FAILED = NCS_AUTHENTICATION_SUCCEEDED + 1,
  315. NCS_INVALID_ADDRESS = NCS_AUTHENTICATION_FAILED + 1,
  316. NCS_CREDENTIALS_REQUIRED = NCS_INVALID_ADDRESS + 1
  317.     }  NETCON_STATUS;
  318. typedef 
  319. enum tagNETCON_TYPE
  320.     { NCT_DIRECT_CONNECT = 0,
  321. NCT_INBOUND = NCT_DIRECT_CONNECT + 1,
  322. NCT_INTERNET = NCT_INBOUND + 1,
  323. NCT_LAN = NCT_INTERNET + 1,
  324. NCT_PHONE = NCT_LAN + 1,
  325. NCT_TUNNEL = NCT_PHONE + 1,
  326. NCT_BRIDGE = NCT_TUNNEL + 1
  327.     }  NETCON_TYPE;
  328. typedef 
  329. enum tagNETCON_MEDIATYPE
  330.     { NCM_NONE = 0,
  331. NCM_DIRECT = NCM_NONE + 1,
  332. NCM_ISDN = NCM_DIRECT + 1,
  333. NCM_LAN = NCM_ISDN + 1,
  334. NCM_PHONE = NCM_LAN + 1,
  335. NCM_TUNNEL = NCM_PHONE + 1,
  336. NCM_PPPOE = NCM_TUNNEL + 1,
  337. NCM_BRIDGE = NCM_PPPOE + 1,
  338. NCM_SHAREDACCESSHOST_LAN = NCM_BRIDGE + 1,
  339. NCM_SHAREDACCESSHOST_RAS = NCM_SHAREDACCESSHOST_LAN + 1
  340.     }  NETCON_MEDIATYPE;
  341. typedef struct tagNETCON_PROPERTIES
  342.     {
  343.     GUID guidId;
  344.     /* [string] */ LPWSTR pszwName;
  345.     /* [string] */ LPWSTR pszwDeviceName;
  346.     NETCON_STATUS Status;
  347.     NETCON_MEDIATYPE MediaType;
  348.     DWORD dwCharacter;
  349.     CLSID clsidThisObject;
  350.     CLSID clsidUiObject;
  351.     }  NETCON_PROPERTIES;
  352. #define S_OBJECT_NO_LONGER_VALID ((HRESULT)0x00000002L)
  353. EXTERN_C const IID IID_INetConnection;
  354. #if defined(__cplusplus) && !defined(CINTERFACE)
  355.     
  356.     MIDL_INTERFACE("C08956A1-1CD3-11D1-B1C5-00805FC1270E")
  357.     INetConnection : public IUnknown
  358.     {
  359.     public:
  360.         virtual HRESULT STDMETHODCALLTYPE Connect( void) = 0;
  361.         
  362.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  363.         
  364.         virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  365.         
  366.         virtual HRESULT STDMETHODCALLTYPE Duplicate( 
  367.             /* [string][in] */ LPCWSTR pszwDuplicateName,
  368.             /* [out] */ INetConnection **ppCon) = 0;
  369.         
  370.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  371.             /* [out] */ NETCON_PROPERTIES **ppProps) = 0;
  372.         
  373.         virtual HRESULT STDMETHODCALLTYPE GetUiObjectClassId( 
  374.             /* [ref][out] */ CLSID *pclsid) = 0;
  375.         
  376.         virtual HRESULT STDMETHODCALLTYPE Rename( 
  377.             /* [string][in] */ LPCWSTR pszwNewName) = 0;
  378.         
  379.     };
  380.     
  381. #else  /* C style interface */
  382.     typedef struct INetConnectionVtbl
  383.     {
  384.         BEGIN_INTERFACE
  385.         
  386.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  387.             INetConnection * This,
  388.             /* [in] */ REFIID riid,
  389.             /* [iid_is][out] */ void **ppvObject);
  390.         
  391.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  392.             INetConnection * This);
  393.         
  394.         ULONG ( STDMETHODCALLTYPE *Release )( 
  395.             INetConnection * This);
  396.         
  397.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  398.             INetConnection * This);
  399.         
  400.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  401.             INetConnection * This);
  402.         
  403.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  404.             INetConnection * This);
  405.         
  406.         HRESULT ( STDMETHODCALLTYPE *Duplicate )( 
  407.             INetConnection * This,
  408.             /* [string][in] */ LPCWSTR pszwDuplicateName,
  409.             /* [out] */ INetConnection **ppCon);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  412.             INetConnection * This,
  413.             /* [out] */ NETCON_PROPERTIES **ppProps);
  414.         
  415.         HRESULT ( STDMETHODCALLTYPE *GetUiObjectClassId )( 
  416.             INetConnection * This,
  417.             /* [ref][out] */ CLSID *pclsid);
  418.         
  419.         HRESULT ( STDMETHODCALLTYPE *Rename )( 
  420.             INetConnection * This,
  421.             /* [string][in] */ LPCWSTR pszwNewName);
  422.         
  423.         END_INTERFACE
  424.     } INetConnectionVtbl;
  425.     interface INetConnection
  426.     {
  427.         CONST_VTBL struct INetConnectionVtbl *lpVtbl;
  428.     };
  429.     
  430. #ifdef COBJMACROS
  431. #define INetConnection_QueryInterface(This,riid,ppvObject)
  432.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  433. #define INetConnection_AddRef(This)
  434.     (This)->lpVtbl -> AddRef(This)
  435. #define INetConnection_Release(This)
  436.     (This)->lpVtbl -> Release(This)
  437. #define INetConnection_Connect(This)
  438.     (This)->lpVtbl -> Connect(This)
  439. #define INetConnection_Disconnect(This)
  440.     (This)->lpVtbl -> Disconnect(This)
  441. #define INetConnection_Delete(This)
  442.     (This)->lpVtbl -> Delete(This)
  443. #define INetConnection_Duplicate(This,pszwDuplicateName,ppCon)
  444.     (This)->lpVtbl -> Duplicate(This,pszwDuplicateName,ppCon)
  445. #define INetConnection_GetProperties(This,ppProps)
  446.     (This)->lpVtbl -> GetProperties(This,ppProps)
  447. #define INetConnection_GetUiObjectClassId(This,pclsid)
  448.     (This)->lpVtbl -> GetUiObjectClassId(This,pclsid)
  449. #define INetConnection_Rename(This,pszwNewName)
  450.     (This)->lpVtbl -> Rename(This,pszwNewName)
  451. #endif /* COBJMACROS */
  452. #endif  /* C style interface */
  453. HRESULT STDMETHODCALLTYPE INetConnection_Connect_Proxy( 
  454.     INetConnection * This);
  455. void __RPC_STUB INetConnection_Connect_Stub(
  456.     IRpcStubBuffer *This,
  457.     IRpcChannelBuffer *_pRpcChannelBuffer,
  458.     PRPC_MESSAGE _pRpcMessage,
  459.     DWORD *_pdwStubPhase);
  460. HRESULT STDMETHODCALLTYPE INetConnection_Disconnect_Proxy( 
  461.     INetConnection * This);
  462. void __RPC_STUB INetConnection_Disconnect_Stub(
  463.     IRpcStubBuffer *This,
  464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  465.     PRPC_MESSAGE _pRpcMessage,
  466.     DWORD *_pdwStubPhase);
  467. HRESULT STDMETHODCALLTYPE INetConnection_Delete_Proxy( 
  468.     INetConnection * This);
  469. void __RPC_STUB INetConnection_Delete_Stub(
  470.     IRpcStubBuffer *This,
  471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  472.     PRPC_MESSAGE _pRpcMessage,
  473.     DWORD *_pdwStubPhase);
  474. HRESULT STDMETHODCALLTYPE INetConnection_Duplicate_Proxy( 
  475.     INetConnection * This,
  476.     /* [string][in] */ LPCWSTR pszwDuplicateName,
  477.     /* [out] */ INetConnection **ppCon);
  478. void __RPC_STUB INetConnection_Duplicate_Stub(
  479.     IRpcStubBuffer *This,
  480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  481.     PRPC_MESSAGE _pRpcMessage,
  482.     DWORD *_pdwStubPhase);
  483. HRESULT STDMETHODCALLTYPE INetConnection_GetProperties_Proxy( 
  484.     INetConnection * This,
  485.     /* [out] */ NETCON_PROPERTIES **ppProps);
  486. void __RPC_STUB INetConnection_GetProperties_Stub(
  487.     IRpcStubBuffer *This,
  488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  489.     PRPC_MESSAGE _pRpcMessage,
  490.     DWORD *_pdwStubPhase);
  491. HRESULT STDMETHODCALLTYPE INetConnection_GetUiObjectClassId_Proxy( 
  492.     INetConnection * This,
  493.     /* [ref][out] */ CLSID *pclsid);
  494. void __RPC_STUB INetConnection_GetUiObjectClassId_Stub(
  495.     IRpcStubBuffer *This,
  496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  497.     PRPC_MESSAGE _pRpcMessage,
  498.     DWORD *_pdwStubPhase);
  499. HRESULT STDMETHODCALLTYPE INetConnection_Rename_Proxy( 
  500.     INetConnection * This,
  501.     /* [string][in] */ LPCWSTR pszwNewName);
  502. void __RPC_STUB INetConnection_Rename_Stub(
  503.     IRpcStubBuffer *This,
  504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  505.     PRPC_MESSAGE _pRpcMessage,
  506.     DWORD *_pdwStubPhase);
  507. #endif  /* __INetConnection_INTERFACE_DEFINED__ */
  508. /* interface __MIDL_itf_netcon_0115 */
  509. /* [local] */ 
  510. STDAPI_(VOID) NcFreeNetconProperties (NETCON_PROPERTIES* pProps);
  511. STDAPI_(BOOL) NcIsValidConnectionName (PCWSTR pszwName);
  512. extern RPC_IF_HANDLE __MIDL_itf_netcon_0115_v0_0_c_ifspec;
  513. extern RPC_IF_HANDLE __MIDL_itf_netcon_0115_v0_0_s_ifspec;
  514. #ifndef __INetConnectionManager_INTERFACE_DEFINED__
  515. #define __INetConnectionManager_INTERFACE_DEFINED__
  516. /* interface INetConnectionManager */
  517. /* [unique][uuid][object] */ 
  518. typedef 
  519. enum tagNETCONMGR_ENUM_FLAGS
  520.     { NCME_DEFAULT = 0
  521.     }  NETCONMGR_ENUM_FLAGS;
  522. EXTERN_C const IID IID_INetConnectionManager;
  523. #if defined(__cplusplus) && !defined(CINTERFACE)
  524.     
  525.     MIDL_INTERFACE("C08956A2-1CD3-11D1-B1C5-00805FC1270E")
  526.     INetConnectionManager : public IUnknown
  527.     {
  528.     public:
  529.         virtual HRESULT STDMETHODCALLTYPE EnumConnections( 
  530.             /* [in] */ NETCONMGR_ENUM_FLAGS Flags,
  531.             /* [out] */ IEnumNetConnection **ppEnum) = 0;
  532.         
  533.     };
  534.     
  535. #else  /* C style interface */
  536.     typedef struct INetConnectionManagerVtbl
  537.     {
  538.         BEGIN_INTERFACE
  539.         
  540.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  541.             INetConnectionManager * This,
  542.             /* [in] */ REFIID riid,
  543.             /* [iid_is][out] */ void **ppvObject);
  544.         
  545.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  546.             INetConnectionManager * This);
  547.         
  548.         ULONG ( STDMETHODCALLTYPE *Release )( 
  549.             INetConnectionManager * This);
  550.         
  551.         HRESULT ( STDMETHODCALLTYPE *EnumConnections )( 
  552.             INetConnectionManager * This,
  553.             /* [in] */ NETCONMGR_ENUM_FLAGS Flags,
  554.             /* [out] */ IEnumNetConnection **ppEnum);
  555.         
  556.         END_INTERFACE
  557.     } INetConnectionManagerVtbl;
  558.     interface INetConnectionManager
  559.     {
  560.         CONST_VTBL struct INetConnectionManagerVtbl *lpVtbl;
  561.     };
  562.     
  563. #ifdef COBJMACROS
  564. #define INetConnectionManager_QueryInterface(This,riid,ppvObject)
  565.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  566. #define INetConnectionManager_AddRef(This)
  567.     (This)->lpVtbl -> AddRef(This)
  568. #define INetConnectionManager_Release(This)
  569.     (This)->lpVtbl -> Release(This)
  570. #define INetConnectionManager_EnumConnections(This,Flags,ppEnum)
  571.     (This)->lpVtbl -> EnumConnections(This,Flags,ppEnum)
  572. #endif /* COBJMACROS */
  573. #endif  /* C style interface */
  574. HRESULT STDMETHODCALLTYPE INetConnectionManager_EnumConnections_Proxy( 
  575.     INetConnectionManager * This,
  576.     /* [in] */ NETCONMGR_ENUM_FLAGS Flags,
  577.     /* [out] */ IEnumNetConnection **ppEnum);
  578. void __RPC_STUB INetConnectionManager_EnumConnections_Stub(
  579.     IRpcStubBuffer *This,
  580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  581.     PRPC_MESSAGE _pRpcMessage,
  582.     DWORD *_pdwStubPhase);
  583. #endif  /* __INetConnectionManager_INTERFACE_DEFINED__ */
  584. #ifndef __INetConnectionManagerEvents_INTERFACE_DEFINED__
  585. #define __INetConnectionManagerEvents_INTERFACE_DEFINED__
  586. /* interface INetConnectionManagerEvents */
  587. /* [unique][uuid][object] */ 
  588. EXTERN_C const IID IID_INetConnectionManagerEvents;
  589. #if defined(__cplusplus) && !defined(CINTERFACE)
  590.     
  591.     MIDL_INTERFACE("C08956BA-1CD3-11D1-B1C5-00805FC1270E")
  592.     INetConnectionManagerEvents : public IUnknown
  593.     {
  594.     public:
  595.         virtual HRESULT STDMETHODCALLTYPE RefreshConnections( void) = 0;
  596.         
  597.         virtual HRESULT STDMETHODCALLTYPE Enable( void) = 0;
  598.         
  599.         virtual HRESULT STDMETHODCALLTYPE Disable( 
  600.             /* [in] */ ULONG ulDisableTimeout) = 0;
  601.         
  602.     };
  603.     
  604. #else  /* C style interface */
  605.     typedef struct INetConnectionManagerEventsVtbl
  606.     {
  607.         BEGIN_INTERFACE
  608.         
  609.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  610.             INetConnectionManagerEvents * This,
  611.             /* [in] */ REFIID riid,
  612.             /* [iid_is][out] */ void **ppvObject);
  613.         
  614.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  615.             INetConnectionManagerEvents * This);
  616.         
  617.         ULONG ( STDMETHODCALLTYPE *Release )( 
  618.             INetConnectionManagerEvents * This);
  619.         
  620.         HRESULT ( STDMETHODCALLTYPE *RefreshConnections )( 
  621.             INetConnectionManagerEvents * This);
  622.         
  623.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  624.             INetConnectionManagerEvents * This);
  625.         
  626.         HRESULT ( STDMETHODCALLTYPE *Disable )( 
  627.             INetConnectionManagerEvents * This,
  628.             /* [in] */ ULONG ulDisableTimeout);
  629.         
  630.         END_INTERFACE
  631.     } INetConnectionManagerEventsVtbl;
  632.     interface INetConnectionManagerEvents
  633.     {
  634.         CONST_VTBL struct INetConnectionManagerEventsVtbl *lpVtbl;
  635.     };
  636.     
  637. #ifdef COBJMACROS
  638. #define INetConnectionManagerEvents_QueryInterface(This,riid,ppvObject)
  639.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  640. #define INetConnectionManagerEvents_AddRef(This)
  641.     (This)->lpVtbl -> AddRef(This)
  642. #define INetConnectionManagerEvents_Release(This)
  643.     (This)->lpVtbl -> Release(This)
  644. #define INetConnectionManagerEvents_RefreshConnections(This)
  645.     (This)->lpVtbl -> RefreshConnections(This)
  646. #define INetConnectionManagerEvents_Enable(This)
  647.     (This)->lpVtbl -> Enable(This)
  648. #define INetConnectionManagerEvents_Disable(This,ulDisableTimeout)
  649.     (This)->lpVtbl -> Disable(This,ulDisableTimeout)
  650. #endif /* COBJMACROS */
  651. #endif  /* C style interface */
  652. HRESULT STDMETHODCALLTYPE INetConnectionManagerEvents_RefreshConnections_Proxy( 
  653.     INetConnectionManagerEvents * This);
  654. void __RPC_STUB INetConnectionManagerEvents_RefreshConnections_Stub(
  655.     IRpcStubBuffer *This,
  656.     IRpcChannelBuffer *_pRpcChannelBuffer,
  657.     PRPC_MESSAGE _pRpcMessage,
  658.     DWORD *_pdwStubPhase);
  659. HRESULT STDMETHODCALLTYPE INetConnectionManagerEvents_Enable_Proxy( 
  660.     INetConnectionManagerEvents * This);
  661. void __RPC_STUB INetConnectionManagerEvents_Enable_Stub(
  662.     IRpcStubBuffer *This,
  663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  664.     PRPC_MESSAGE _pRpcMessage,
  665.     DWORD *_pdwStubPhase);
  666. HRESULT STDMETHODCALLTYPE INetConnectionManagerEvents_Disable_Proxy( 
  667.     INetConnectionManagerEvents * This,
  668.     /* [in] */ ULONG ulDisableTimeout);
  669. void __RPC_STUB INetConnectionManagerEvents_Disable_Stub(
  670.     IRpcStubBuffer *This,
  671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  672.     PRPC_MESSAGE _pRpcMessage,
  673.     DWORD *_pdwStubPhase);
  674. #endif  /* __INetConnectionManagerEvents_INTERFACE_DEFINED__ */
  675. #ifndef __INetConnectionConnectUi_INTERFACE_DEFINED__
  676. #define __INetConnectionConnectUi_INTERFACE_DEFINED__
  677. /* interface INetConnectionConnectUi */
  678. /* [unique][uuid][object][local] */ 
  679. typedef 
  680. enum tagNETCONUI_CONNECT_FLAGS
  681.     { NCUC_DEFAULT = 0,
  682. NCUC_NO_UI = 0x1
  683.     }  NETCONUI_CONNECT_FLAGS;
  684. EXTERN_C const IID IID_INetConnectionConnectUi;
  685. #if defined(__cplusplus) && !defined(CINTERFACE)
  686.     
  687.     MIDL_INTERFACE("C08956A3-1CD3-11D1-B1C5-00805FC1270E")
  688.     INetConnectionConnectUi : public IUnknown
  689.     {
  690.     public:
  691.         virtual HRESULT STDMETHODCALLTYPE SetConnection( 
  692.             /* [in] */ INetConnection *pCon) = 0;
  693.         
  694.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  695.             /* [in] */ HWND hwndParent,
  696.             /* [in] */ DWORD dwFlags) = 0;
  697.         
  698.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  699.             /* [in] */ HWND hwndParent,
  700.             /* [in] */ DWORD dwFlags) = 0;
  701.         
  702.     };
  703.     
  704. #else  /* C style interface */
  705.     typedef struct INetConnectionConnectUiVtbl
  706.     {
  707.         BEGIN_INTERFACE
  708.         
  709.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  710.             INetConnectionConnectUi * This,
  711.             /* [in] */ REFIID riid,
  712.             /* [iid_is][out] */ void **ppvObject);
  713.         
  714.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  715.             INetConnectionConnectUi * This);
  716.         
  717.         ULONG ( STDMETHODCALLTYPE *Release )( 
  718.             INetConnectionConnectUi * This);
  719.         
  720.         HRESULT ( STDMETHODCALLTYPE *SetConnection )( 
  721.             INetConnectionConnectUi * This,
  722.             /* [in] */ INetConnection *pCon);
  723.         
  724.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  725.             INetConnectionConnectUi * This,
  726.             /* [in] */ HWND hwndParent,
  727.             /* [in] */ DWORD dwFlags);
  728.         
  729.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  730.             INetConnectionConnectUi * This,
  731.             /* [in] */ HWND hwndParent,
  732.             /* [in] */ DWORD dwFlags);
  733.         
  734.         END_INTERFACE
  735.     } INetConnectionConnectUiVtbl;
  736.     interface INetConnectionConnectUi
  737.     {
  738.         CONST_VTBL struct INetConnectionConnectUiVtbl *lpVtbl;
  739.     };
  740.     
  741. #ifdef COBJMACROS
  742. #define INetConnectionConnectUi_QueryInterface(This,riid,ppvObject)
  743.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  744. #define INetConnectionConnectUi_AddRef(This)
  745.     (This)->lpVtbl -> AddRef(This)
  746. #define INetConnectionConnectUi_Release(This)
  747.     (This)->lpVtbl -> Release(This)
  748. #define INetConnectionConnectUi_SetConnection(This,pCon)
  749.     (This)->lpVtbl -> SetConnection(This,pCon)
  750. #define INetConnectionConnectUi_Connect(This,hwndParent,dwFlags)
  751.     (This)->lpVtbl -> Connect(This,hwndParent,dwFlags)
  752. #define INetConnectionConnectUi_Disconnect(This,hwndParent,dwFlags)
  753.     (This)->lpVtbl -> Disconnect(This,hwndParent,dwFlags)
  754. #endif /* COBJMACROS */
  755. #endif  /* C style interface */
  756. HRESULT STDMETHODCALLTYPE INetConnectionConnectUi_SetConnection_Proxy( 
  757.     INetConnectionConnectUi * This,
  758.     /* [in] */ INetConnection *pCon);
  759. void __RPC_STUB INetConnectionConnectUi_SetConnection_Stub(
  760.     IRpcStubBuffer *This,
  761.     IRpcChannelBuffer *_pRpcChannelBuffer,
  762.     PRPC_MESSAGE _pRpcMessage,
  763.     DWORD *_pdwStubPhase);
  764. HRESULT STDMETHODCALLTYPE INetConnectionConnectUi_Connect_Proxy( 
  765.     INetConnectionConnectUi * This,
  766.     /* [in] */ HWND hwndParent,
  767.     /* [in] */ DWORD dwFlags);
  768. void __RPC_STUB INetConnectionConnectUi_Connect_Stub(
  769.     IRpcStubBuffer *This,
  770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  771.     PRPC_MESSAGE _pRpcMessage,
  772.     DWORD *_pdwStubPhase);
  773. HRESULT STDMETHODCALLTYPE INetConnectionConnectUi_Disconnect_Proxy( 
  774.     INetConnectionConnectUi * This,
  775.     /* [in] */ HWND hwndParent,
  776.     /* [in] */ DWORD dwFlags);
  777. void __RPC_STUB INetConnectionConnectUi_Disconnect_Stub(
  778.     IRpcStubBuffer *This,
  779.     IRpcChannelBuffer *_pRpcChannelBuffer,
  780.     PRPC_MESSAGE _pRpcMessage,
  781.     DWORD *_pdwStubPhase);
  782. #endif  /* __INetConnectionConnectUi_INTERFACE_DEFINED__ */
  783. #ifndef __INetConnectionPropertyUi_INTERFACE_DEFINED__
  784. #define __INetConnectionPropertyUi_INTERFACE_DEFINED__
  785. /* interface INetConnectionPropertyUi */
  786. /* [unique][uuid][object][local] */ 
  787. EXTERN_C const IID IID_INetConnectionPropertyUi;
  788. #if defined(__cplusplus) && !defined(CINTERFACE)
  789.     
  790.     MIDL_INTERFACE("C08956A4-1CD3-11D1-B1C5-00805FC1270E")
  791.     INetConnectionPropertyUi : public IUnknown
  792.     {
  793.     public:
  794.         virtual HRESULT STDMETHODCALLTYPE SetConnection( 
  795.             /* [in] */ INetConnection *pCon) = 0;
  796.         
  797.         virtual HRESULT STDMETHODCALLTYPE AddPages( 
  798.             /* [in] */ HWND hwndParent,
  799.             /* [in] */ LPFNADDPROPSHEETPAGE pfnAddPage,
  800.             /* [in] */ LPARAM lParam) = 0;
  801.         
  802.     };
  803.     
  804. #else  /* C style interface */
  805.     typedef struct INetConnectionPropertyUiVtbl
  806.     {
  807.         BEGIN_INTERFACE
  808.         
  809.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  810.             INetConnectionPropertyUi * This,
  811.             /* [in] */ REFIID riid,
  812.             /* [iid_is][out] */ void **ppvObject);
  813.         
  814.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  815.             INetConnectionPropertyUi * This);
  816.         
  817.         ULONG ( STDMETHODCALLTYPE *Release )( 
  818.             INetConnectionPropertyUi * This);
  819.         
  820.         HRESULT ( STDMETHODCALLTYPE *SetConnection )( 
  821.             INetConnectionPropertyUi * This,
  822.             /* [in] */ INetConnection *pCon);
  823.         
  824.         HRESULT ( STDMETHODCALLTYPE *AddPages )( 
  825.             INetConnectionPropertyUi * This,
  826.             /* [in] */ HWND hwndParent,
  827.             /* [in] */ LPFNADDPROPSHEETPAGE pfnAddPage,
  828.             /* [in] */ LPARAM lParam);
  829.         
  830.         END_INTERFACE
  831.     } INetConnectionPropertyUiVtbl;
  832.     interface INetConnectionPropertyUi
  833.     {
  834.         CONST_VTBL struct INetConnectionPropertyUiVtbl *lpVtbl;
  835.     };
  836.     
  837. #ifdef COBJMACROS
  838. #define INetConnectionPropertyUi_QueryInterface(This,riid,ppvObject)
  839.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  840. #define INetConnectionPropertyUi_AddRef(This)
  841.     (This)->lpVtbl -> AddRef(This)
  842. #define INetConnectionPropertyUi_Release(This)
  843.     (This)->lpVtbl -> Release(This)
  844. #define INetConnectionPropertyUi_SetConnection(This,pCon)
  845.     (This)->lpVtbl -> SetConnection(This,pCon)
  846. #define INetConnectionPropertyUi_AddPages(This,hwndParent,pfnAddPage,lParam)
  847.     (This)->lpVtbl -> AddPages(This,hwndParent,pfnAddPage,lParam)
  848. #endif /* COBJMACROS */
  849. #endif  /* C style interface */
  850. HRESULT STDMETHODCALLTYPE INetConnectionPropertyUi_SetConnection_Proxy( 
  851.     INetConnectionPropertyUi * This,
  852.     /* [in] */ INetConnection *pCon);
  853. void __RPC_STUB INetConnectionPropertyUi_SetConnection_Stub(
  854.     IRpcStubBuffer *This,
  855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  856.     PRPC_MESSAGE _pRpcMessage,
  857.     DWORD *_pdwStubPhase);
  858. HRESULT STDMETHODCALLTYPE INetConnectionPropertyUi_AddPages_Proxy( 
  859.     INetConnectionPropertyUi * This,
  860.     /* [in] */ HWND hwndParent,
  861.     /* [in] */ LPFNADDPROPSHEETPAGE pfnAddPage,
  862.     /* [in] */ LPARAM lParam);
  863. void __RPC_STUB INetConnectionPropertyUi_AddPages_Stub(
  864.     IRpcStubBuffer *This,
  865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  866.     PRPC_MESSAGE _pRpcMessage,
  867.     DWORD *_pdwStubPhase);
  868. #endif  /* __INetConnectionPropertyUi_INTERFACE_DEFINED__ */
  869. #ifndef __INetConnectionPropertyUi2_INTERFACE_DEFINED__
  870. #define __INetConnectionPropertyUi2_INTERFACE_DEFINED__
  871. /* interface INetConnectionPropertyUi2 */
  872. /* [unique][uuid][object][local] */ 
  873. EXTERN_C const IID IID_INetConnectionPropertyUi2;
  874. #if defined(__cplusplus) && !defined(CINTERFACE)
  875.     
  876.     MIDL_INTERFACE("C08956B9-1CD3-11D1-B1C5-00805FC1270E")
  877.     INetConnectionPropertyUi2 : public INetConnectionPropertyUi
  878.     {
  879.     public:
  880.         virtual HRESULT STDMETHODCALLTYPE GetIcon( 
  881.             /* [in] */ DWORD dwSize,
  882.             /* [out] */ HICON *phIcon) = 0;
  883.         
  884.     };
  885.     
  886. #else  /* C style interface */
  887.     typedef struct INetConnectionPropertyUi2Vtbl
  888.     {
  889.         BEGIN_INTERFACE
  890.         
  891.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  892.             INetConnectionPropertyUi2 * This,
  893.             /* [in] */ REFIID riid,
  894.             /* [iid_is][out] */ void **ppvObject);
  895.         
  896.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  897.             INetConnectionPropertyUi2 * This);
  898.         
  899.         ULONG ( STDMETHODCALLTYPE *Release )( 
  900.             INetConnectionPropertyUi2 * This);
  901.         
  902.         HRESULT ( STDMETHODCALLTYPE *SetConnection )( 
  903.             INetConnectionPropertyUi2 * This,
  904.             /* [in] */ INetConnection *pCon);
  905.         
  906.         HRESULT ( STDMETHODCALLTYPE *AddPages )( 
  907.             INetConnectionPropertyUi2 * This,
  908.             /* [in] */ HWND hwndParent,
  909.             /* [in] */ LPFNADDPROPSHEETPAGE pfnAddPage,
  910.             /* [in] */ LPARAM lParam);
  911.         
  912.         HRESULT ( STDMETHODCALLTYPE *GetIcon )( 
  913.             INetConnectionPropertyUi2 * This,
  914.             /* [in] */ DWORD dwSize,
  915.             /* [out] */ HICON *phIcon);
  916.         
  917.         END_INTERFACE
  918.     } INetConnectionPropertyUi2Vtbl;
  919.     interface INetConnectionPropertyUi2
  920.     {
  921.         CONST_VTBL struct INetConnectionPropertyUi2Vtbl *lpVtbl;
  922.     };
  923.     
  924. #ifdef COBJMACROS
  925. #define INetConnectionPropertyUi2_QueryInterface(This,riid,ppvObject)
  926.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  927. #define INetConnectionPropertyUi2_AddRef(This)
  928.     (This)->lpVtbl -> AddRef(This)
  929. #define INetConnectionPropertyUi2_Release(This)
  930.     (This)->lpVtbl -> Release(This)
  931. #define INetConnectionPropertyUi2_SetConnection(This,pCon)
  932.     (This)->lpVtbl -> SetConnection(This,pCon)
  933. #define INetConnectionPropertyUi2_AddPages(This,hwndParent,pfnAddPage,lParam)
  934.     (This)->lpVtbl -> AddPages(This,hwndParent,pfnAddPage,lParam)
  935. #define INetConnectionPropertyUi2_GetIcon(This,dwSize,phIcon)
  936.     (This)->lpVtbl -> GetIcon(This,dwSize,phIcon)
  937. #endif /* COBJMACROS */
  938. #endif  /* C style interface */
  939. HRESULT STDMETHODCALLTYPE INetConnectionPropertyUi2_GetIcon_Proxy( 
  940.     INetConnectionPropertyUi2 * This,
  941.     /* [in] */ DWORD dwSize,
  942.     /* [out] */ HICON *phIcon);
  943. void __RPC_STUB INetConnectionPropertyUi2_GetIcon_Stub(
  944.     IRpcStubBuffer *This,
  945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  946.     PRPC_MESSAGE _pRpcMessage,
  947.     DWORD *_pdwStubPhase);
  948. #endif  /* __INetConnectionPropertyUi2_INTERFACE_DEFINED__ */
  949. #ifndef __INetConnectionCommonUi_INTERFACE_DEFINED__
  950. #define __INetConnectionCommonUi_INTERFACE_DEFINED__
  951. /* interface INetConnectionCommonUi */
  952. /* [unique][uuid][object][local] */ 
  953. typedef 
  954. enum tagNETCON_CHOOSEFLAGS
  955.     { NCCHF_CONNECT = 0x1,
  956. NCCHF_CAPTION = 0x2,
  957. NCCHF_OKBTTNTEXT = 0x4,
  958. NCCHF_DISABLENEW = 0x8,
  959. NCCHF_AUTOSELECT = 0x10
  960.     }  NETCON_CHOOSEFLAGS;
  961. typedef 
  962. enum tagNETCON_CHOOSETYPE
  963.     { NCCHT_DIRECT_CONNECT = 0x1,
  964. NCCHT_LAN = 0x2,
  965. NCCHT_PHONE = 0x4,
  966. NCCHT_TUNNEL = 0x8,
  967. NCCHT_ISDN = 0x10,
  968. NCCHT_ALL = 0x1f
  969.     }  NETCON_CHOOSETYPE;
  970. typedef struct tagNETCON_CHOOSECONN
  971.     {
  972.     DWORD lStructSize;
  973.     HWND hwndParent;
  974.     DWORD dwFlags;
  975.     DWORD dwTypeMask;
  976.     LPCWSTR lpstrCaption;
  977.     LPCWSTR lpstrOkBttnText;
  978.     }  NETCON_CHOOSECONN;
  979. EXTERN_C const IID IID_INetConnectionCommonUi;
  980. #if defined(__cplusplus) && !defined(CINTERFACE)
  981.     
  982.     MIDL_INTERFACE("C08956A5-1CD3-11D1-B1C5-00805FC1270E")
  983.     INetConnectionCommonUi : public IUnknown
  984.     {
  985.     public:
  986.         virtual HRESULT STDMETHODCALLTYPE ChooseConnection( 
  987.             /* [in] */ NETCON_CHOOSECONN *pChooseConn,
  988.             /* [out] */ INetConnection **ppCon) = 0;
  989.         
  990.         virtual HRESULT STDMETHODCALLTYPE ShowConnectionProperties( 
  991.             /* [in] */ HWND hwndParent,
  992.             /* [in] */ INetConnection *pCon) = 0;
  993.         
  994.         virtual HRESULT STDMETHODCALLTYPE StartNewConnectionWizard( 
  995.             /* [in] */ HWND hwndParent,
  996.             /* [out] */ INetConnection **ppCon) = 0;
  997.         
  998.     };
  999.     
  1000. #else  /* C style interface */
  1001.     typedef struct INetConnectionCommonUiVtbl
  1002.     {
  1003.         BEGIN_INTERFACE
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1006.             INetConnectionCommonUi * This,
  1007.             /* [in] */ REFIID riid,
  1008.             /* [iid_is][out] */ void **ppvObject);
  1009.         
  1010.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1011.             INetConnectionCommonUi * This);
  1012.         
  1013.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1014.             INetConnectionCommonUi * This);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *ChooseConnection )( 
  1017.             INetConnectionCommonUi * This,
  1018.             /* [in] */ NETCON_CHOOSECONN *pChooseConn,
  1019.             /* [out] */ INetConnection **ppCon);
  1020.         
  1021.         HRESULT ( STDMETHODCALLTYPE *ShowConnectionProperties )( 
  1022.             INetConnectionCommonUi * This,
  1023.             /* [in] */ HWND hwndParent,
  1024.             /* [in] */ INetConnection *pCon);
  1025.         
  1026.         HRESULT ( STDMETHODCALLTYPE *StartNewConnectionWizard )( 
  1027.             INetConnectionCommonUi * This,
  1028.             /* [in] */ HWND hwndParent,
  1029.             /* [out] */ INetConnection **ppCon);
  1030.         
  1031.         END_INTERFACE
  1032.     } INetConnectionCommonUiVtbl;
  1033.     interface INetConnectionCommonUi
  1034.     {
  1035.         CONST_VTBL struct INetConnectionCommonUiVtbl *lpVtbl;
  1036.     };
  1037.     
  1038. #ifdef COBJMACROS
  1039. #define INetConnectionCommonUi_QueryInterface(This,riid,ppvObject)
  1040.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1041. #define INetConnectionCommonUi_AddRef(This)
  1042.     (This)->lpVtbl -> AddRef(This)
  1043. #define INetConnectionCommonUi_Release(This)
  1044.     (This)->lpVtbl -> Release(This)
  1045. #define INetConnectionCommonUi_ChooseConnection(This,pChooseConn,ppCon)
  1046.     (This)->lpVtbl -> ChooseConnection(This,pChooseConn,ppCon)
  1047. #define INetConnectionCommonUi_ShowConnectionProperties(This,hwndParent,pCon)
  1048.     (This)->lpVtbl -> ShowConnectionProperties(This,hwndParent,pCon)
  1049. #define INetConnectionCommonUi_StartNewConnectionWizard(This,hwndParent,ppCon)
  1050.     (This)->lpVtbl -> StartNewConnectionWizard(This,hwndParent,ppCon)
  1051. #endif /* COBJMACROS */
  1052. #endif  /* C style interface */
  1053. HRESULT STDMETHODCALLTYPE INetConnectionCommonUi_ChooseConnection_Proxy( 
  1054.     INetConnectionCommonUi * This,
  1055.     /* [in] */ NETCON_CHOOSECONN *pChooseConn,
  1056.     /* [out] */ INetConnection **ppCon);
  1057. void __RPC_STUB INetConnectionCommonUi_ChooseConnection_Stub(
  1058.     IRpcStubBuffer *This,
  1059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1060.     PRPC_MESSAGE _pRpcMessage,
  1061.     DWORD *_pdwStubPhase);
  1062. HRESULT STDMETHODCALLTYPE INetConnectionCommonUi_ShowConnectionProperties_Proxy( 
  1063.     INetConnectionCommonUi * This,
  1064.     /* [in] */ HWND hwndParent,
  1065.     /* [in] */ INetConnection *pCon);
  1066. void __RPC_STUB INetConnectionCommonUi_ShowConnectionProperties_Stub(
  1067.     IRpcStubBuffer *This,
  1068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1069.     PRPC_MESSAGE _pRpcMessage,
  1070.     DWORD *_pdwStubPhase);
  1071. HRESULT STDMETHODCALLTYPE INetConnectionCommonUi_StartNewConnectionWizard_Proxy( 
  1072.     INetConnectionCommonUi * This,
  1073.     /* [in] */ HWND hwndParent,
  1074.     /* [out] */ INetConnection **ppCon);
  1075. void __RPC_STUB INetConnectionCommonUi_StartNewConnectionWizard_Stub(
  1076.     IRpcStubBuffer *This,
  1077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1078.     PRPC_MESSAGE _pRpcMessage,
  1079.     DWORD *_pdwStubPhase);
  1080. #endif  /* __INetConnectionCommonUi_INTERFACE_DEFINED__ */
  1081. #ifndef __IEnumNetSharingPortMapping_INTERFACE_DEFINED__
  1082. #define __IEnumNetSharingPortMapping_INTERFACE_DEFINED__
  1083. /* interface IEnumNetSharingPortMapping */
  1084. /* [unique][uuid][object] */ 
  1085. EXTERN_C const IID IID_IEnumNetSharingPortMapping;
  1086. #if defined(__cplusplus) && !defined(CINTERFACE)
  1087.     
  1088.     MIDL_INTERFACE("C08956B0-1CD3-11D1-B1C5-00805FC1270E")
  1089.     IEnumNetSharingPortMapping : public IUnknown
  1090.     {
  1091.     public:
  1092.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1093.             /* [in] */ ULONG celt,
  1094.             /* [length_is][size_is][out] */ VARIANT *rgVar,
  1095.             /* [out] */ ULONG *pceltFetched) = 0;
  1096.         
  1097.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1098.             /* [in] */ ULONG celt) = 0;
  1099.         
  1100.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1101.         
  1102.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1103.             /* [out] */ IEnumNetSharingPortMapping **ppenum) = 0;
  1104.         
  1105.     };
  1106.     
  1107. #else  /* C style interface */
  1108.     typedef struct IEnumNetSharingPortMappingVtbl
  1109.     {
  1110.         BEGIN_INTERFACE
  1111.         
  1112.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1113.             IEnumNetSharingPortMapping * This,
  1114.             /* [in] */ REFIID riid,
  1115.             /* [iid_is][out] */ void **ppvObject);
  1116.         
  1117.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1118.             IEnumNetSharingPortMapping * This);
  1119.         
  1120.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1121.             IEnumNetSharingPortMapping * This);
  1122.         
  1123.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1124.             IEnumNetSharingPortMapping * This,
  1125.             /* [in] */ ULONG celt,
  1126.             /* [length_is][size_is][out] */ VARIANT *rgVar,
  1127.             /* [out] */ ULONG *pceltFetched);
  1128.         
  1129.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1130.             IEnumNetSharingPortMapping * This,
  1131.             /* [in] */ ULONG celt);
  1132.         
  1133.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1134.             IEnumNetSharingPortMapping * This);
  1135.         
  1136.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1137.             IEnumNetSharingPortMapping * This,
  1138.             /* [out] */ IEnumNetSharingPortMapping **ppenum);
  1139.         
  1140.         END_INTERFACE
  1141.     } IEnumNetSharingPortMappingVtbl;
  1142.     interface IEnumNetSharingPortMapping
  1143.     {
  1144.         CONST_VTBL struct IEnumNetSharingPortMappingVtbl *lpVtbl;
  1145.     };
  1146.     
  1147. #ifdef COBJMACROS
  1148. #define IEnumNetSharingPortMapping_QueryInterface(This,riid,ppvObject)
  1149.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1150. #define IEnumNetSharingPortMapping_AddRef(This)
  1151.     (This)->lpVtbl -> AddRef(This)
  1152. #define IEnumNetSharingPortMapping_Release(This)
  1153.     (This)->lpVtbl -> Release(This)
  1154. #define IEnumNetSharingPortMapping_Next(This,celt,rgVar,pceltFetched)
  1155.     (This)->lpVtbl -> Next(This,celt,rgVar,pceltFetched)
  1156. #define IEnumNetSharingPortMapping_Skip(This,celt)
  1157.     (This)->lpVtbl -> Skip(This,celt)
  1158. #define IEnumNetSharingPortMapping_Reset(This)
  1159.     (This)->lpVtbl -> Reset(This)
  1160. #define IEnumNetSharingPortMapping_Clone(This,ppenum)
  1161.     (This)->lpVtbl -> Clone(This,ppenum)
  1162. #endif /* COBJMACROS */
  1163. #endif  /* C style interface */
  1164. HRESULT STDMETHODCALLTYPE IEnumNetSharingPortMapping_Next_Proxy( 
  1165.     IEnumNetSharingPortMapping * This,
  1166.     /* [in] */ ULONG celt,
  1167.     /* [length_is][size_is][out] */ VARIANT *rgVar,
  1168.     /* [out] */ ULONG *pceltFetched);
  1169. void __RPC_STUB IEnumNetSharingPortMapping_Next_Stub(
  1170.     IRpcStubBuffer *This,
  1171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1172.     PRPC_MESSAGE _pRpcMessage,
  1173.     DWORD *_pdwStubPhase);
  1174. HRESULT STDMETHODCALLTYPE IEnumNetSharingPortMapping_Skip_Proxy( 
  1175.     IEnumNetSharingPortMapping * This,
  1176.     /* [in] */ ULONG celt);
  1177. void __RPC_STUB IEnumNetSharingPortMapping_Skip_Stub(
  1178.     IRpcStubBuffer *This,
  1179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1180.     PRPC_MESSAGE _pRpcMessage,
  1181.     DWORD *_pdwStubPhase);
  1182. HRESULT STDMETHODCALLTYPE IEnumNetSharingPortMapping_Reset_Proxy( 
  1183.     IEnumNetSharingPortMapping * This);
  1184. void __RPC_STUB IEnumNetSharingPortMapping_Reset_Stub(
  1185.     IRpcStubBuffer *This,
  1186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1187.     PRPC_MESSAGE _pRpcMessage,
  1188.     DWORD *_pdwStubPhase);
  1189. HRESULT STDMETHODCALLTYPE IEnumNetSharingPortMapping_Clone_Proxy( 
  1190.     IEnumNetSharingPortMapping * This,
  1191.     /* [out] */ IEnumNetSharingPortMapping **ppenum);
  1192. void __RPC_STUB IEnumNetSharingPortMapping_Clone_Stub(
  1193.     IRpcStubBuffer *This,
  1194.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1195.     PRPC_MESSAGE _pRpcMessage,
  1196.     DWORD *_pdwStubPhase);
  1197. #endif  /* __IEnumNetSharingPortMapping_INTERFACE_DEFINED__ */
  1198. #ifndef __INetSharingPortMappingProps_INTERFACE_DEFINED__
  1199. #define __INetSharingPortMappingProps_INTERFACE_DEFINED__
  1200. /* interface INetSharingPortMappingProps */
  1201. /* [unique][dual][oleautomation][uuid][object] */ 
  1202. EXTERN_C const IID IID_INetSharingPortMappingProps;
  1203. #if defined(__cplusplus) && !defined(CINTERFACE)
  1204.     
  1205.     MIDL_INTERFACE("24B7E9B5-E38F-4685-851B-00892CF5F940")
  1206.     INetSharingPortMappingProps : public IDispatch
  1207.     {
  1208.     public:
  1209.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1210.             /* [retval][out] */ BSTR *pbstrName) = 0;
  1211.         
  1212.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_IPProtocol( 
  1213.             /* [retval][out] */ UCHAR *pucIPProt) = 0;
  1214.         
  1215.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExternalPort( 
  1216.             /* [retval][out] */ long *pusPort) = 0;
  1217.         
  1218.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_InternalPort( 
  1219.             /* [retval][out] */ long *pusPort) = 0;
  1220.         
  1221.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Options( 
  1222.             /* [retval][out] */ long *pdwOptions) = 0;
  1223.         
  1224.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TargetName( 
  1225.             /* [retval][out] */ BSTR *pbstrTargetName) = 0;
  1226.         
  1227.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TargetIPAddress( 
  1228.             /* [retval][out] */ BSTR *pbstrTargetIPAddress) = 0;
  1229.         
  1230.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
  1231.             /* [retval][out] */ VARIANT_BOOL *pbool) = 0;
  1232.         
  1233.     };
  1234.     
  1235. #else  /* C style interface */
  1236.     typedef struct INetSharingPortMappingPropsVtbl
  1237.     {
  1238.         BEGIN_INTERFACE
  1239.         
  1240.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1241.             INetSharingPortMappingProps * This,
  1242.             /* [in] */ REFIID riid,
  1243.             /* [iid_is][out] */ void **ppvObject);
  1244.         
  1245.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1246.             INetSharingPortMappingProps * This);
  1247.         
  1248.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1249.             INetSharingPortMappingProps * This);
  1250.         
  1251.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1252.             INetSharingPortMappingProps * This,
  1253.             /* [out] */ UINT *pctinfo);
  1254.         
  1255.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1256.             INetSharingPortMappingProps * This,
  1257.             /* [in] */ UINT iTInfo,
  1258.             /* [in] */ LCID lcid,
  1259.             /* [out] */ ITypeInfo **ppTInfo);
  1260.         
  1261.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1262.             INetSharingPortMappingProps * This,
  1263.             /* [in] */ REFIID riid,
  1264.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1265.             /* [in] */ UINT cNames,
  1266.             /* [in] */ LCID lcid,
  1267.             /* [size_is][out] */ DISPID *rgDispId);
  1268.         
  1269.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1270.             INetSharingPortMappingProps * This,
  1271.             /* [in] */ DISPID dispIdMember,
  1272.             /* [in] */ REFIID riid,
  1273.             /* [in] */ LCID lcid,
  1274.             /* [in] */ WORD wFlags,
  1275.             /* [out][in] */ DISPPARAMS *pDispParams,
  1276.             /* [out] */ VARIANT *pVarResult,
  1277.             /* [out] */ EXCEPINFO *pExcepInfo,
  1278.             /* [out] */ UINT *puArgErr);
  1279.         
  1280.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1281.             INetSharingPortMappingProps * This,
  1282.             /* [retval][out] */ BSTR *pbstrName);
  1283.         
  1284.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IPProtocol )( 
  1285.             INetSharingPortMappingProps * This,
  1286.             /* [retval][out] */ UCHAR *pucIPProt);
  1287.         
  1288.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExternalPort )( 
  1289.             INetSharingPortMappingProps * This,
  1290.             /* [retval][out] */ long *pusPort);
  1291.         
  1292.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalPort )( 
  1293.             INetSharingPortMappingProps * This,
  1294.             /* [retval][out] */ long *pusPort);
  1295.         
  1296.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Options )( 
  1297.             INetSharingPortMappingProps * This,
  1298.             /* [retval][out] */ long *pdwOptions);
  1299.         
  1300.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetName )( 
  1301.             INetSharingPortMappingProps * This,
  1302.             /* [retval][out] */ BSTR *pbstrTargetName);
  1303.         
  1304.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetIPAddress )( 
  1305.             INetSharingPortMappingProps * This,
  1306.             /* [retval][out] */ BSTR *pbstrTargetIPAddress);
  1307.         
  1308.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
  1309.             INetSharingPortMappingProps * This,
  1310.             /* [retval][out] */ VARIANT_BOOL *pbool);
  1311.         
  1312.         END_INTERFACE
  1313.     } INetSharingPortMappingPropsVtbl;
  1314.     interface INetSharingPortMappingProps
  1315.     {
  1316.         CONST_VTBL struct INetSharingPortMappingPropsVtbl *lpVtbl;
  1317.     };
  1318.     
  1319. #ifdef COBJMACROS
  1320. #define INetSharingPortMappingProps_QueryInterface(This,riid,ppvObject)
  1321.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1322. #define INetSharingPortMappingProps_AddRef(This)
  1323.     (This)->lpVtbl -> AddRef(This)
  1324. #define INetSharingPortMappingProps_Release(This)
  1325.     (This)->lpVtbl -> Release(This)
  1326. #define INetSharingPortMappingProps_GetTypeInfoCount(This,pctinfo)
  1327.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1328. #define INetSharingPortMappingProps_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1329.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1330. #define INetSharingPortMappingProps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1331.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1332. #define INetSharingPortMappingProps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1333.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1334. #define INetSharingPortMappingProps_get_Name(This,pbstrName)
  1335.     (This)->lpVtbl -> get_Name(This,pbstrName)
  1336. #define INetSharingPortMappingProps_get_IPProtocol(This,pucIPProt)
  1337.     (This)->lpVtbl -> get_IPProtocol(This,pucIPProt)
  1338. #define INetSharingPortMappingProps_get_ExternalPort(This,pusPort)
  1339.     (This)->lpVtbl -> get_ExternalPort(This,pusPort)
  1340. #define INetSharingPortMappingProps_get_InternalPort(This,pusPort)
  1341.     (This)->lpVtbl -> get_InternalPort(This,pusPort)
  1342. #define INetSharingPortMappingProps_get_Options(This,pdwOptions)
  1343.     (This)->lpVtbl -> get_Options(This,pdwOptions)
  1344. #define INetSharingPortMappingProps_get_TargetName(This,pbstrTargetName)
  1345.     (This)->lpVtbl -> get_TargetName(This,pbstrTargetName)
  1346. #define INetSharingPortMappingProps_get_TargetIPAddress(This,pbstrTargetIPAddress)
  1347.     (This)->lpVtbl -> get_TargetIPAddress(This,pbstrTargetIPAddress)
  1348. #define INetSharingPortMappingProps_get_Enabled(This,pbool)
  1349.     (This)->lpVtbl -> get_Enabled(This,pbool)
  1350. #endif /* COBJMACROS */
  1351. #endif  /* C style interface */
  1352. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_Name_Proxy( 
  1353.     INetSharingPortMappingProps * This,
  1354.     /* [retval][out] */ BSTR *pbstrName);
  1355. void __RPC_STUB INetSharingPortMappingProps_get_Name_Stub(
  1356.     IRpcStubBuffer *This,
  1357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1358.     PRPC_MESSAGE _pRpcMessage,
  1359.     DWORD *_pdwStubPhase);
  1360. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_IPProtocol_Proxy( 
  1361.     INetSharingPortMappingProps * This,
  1362.     /* [retval][out] */ UCHAR *pucIPProt);
  1363. void __RPC_STUB INetSharingPortMappingProps_get_IPProtocol_Stub(
  1364.     IRpcStubBuffer *This,
  1365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1366.     PRPC_MESSAGE _pRpcMessage,
  1367.     DWORD *_pdwStubPhase);
  1368. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_ExternalPort_Proxy( 
  1369.     INetSharingPortMappingProps * This,
  1370.     /* [retval][out] */ long *pusPort);
  1371. void __RPC_STUB INetSharingPortMappingProps_get_ExternalPort_Stub(
  1372.     IRpcStubBuffer *This,
  1373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1374.     PRPC_MESSAGE _pRpcMessage,
  1375.     DWORD *_pdwStubPhase);
  1376. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_InternalPort_Proxy( 
  1377.     INetSharingPortMappingProps * This,
  1378.     /* [retval][out] */ long *pusPort);
  1379. void __RPC_STUB INetSharingPortMappingProps_get_InternalPort_Stub(
  1380.     IRpcStubBuffer *This,
  1381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1382.     PRPC_MESSAGE _pRpcMessage,
  1383.     DWORD *_pdwStubPhase);
  1384. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_Options_Proxy( 
  1385.     INetSharingPortMappingProps * This,
  1386.     /* [retval][out] */ long *pdwOptions);
  1387. void __RPC_STUB INetSharingPortMappingProps_get_Options_Stub(
  1388.     IRpcStubBuffer *This,
  1389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1390.     PRPC_MESSAGE _pRpcMessage,
  1391.     DWORD *_pdwStubPhase);
  1392. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_TargetName_Proxy( 
  1393.     INetSharingPortMappingProps * This,
  1394.     /* [retval][out] */ BSTR *pbstrTargetName);
  1395. void __RPC_STUB INetSharingPortMappingProps_get_TargetName_Stub(
  1396.     IRpcStubBuffer *This,
  1397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1398.     PRPC_MESSAGE _pRpcMessage,
  1399.     DWORD *_pdwStubPhase);
  1400. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_TargetIPAddress_Proxy( 
  1401.     INetSharingPortMappingProps * This,
  1402.     /* [retval][out] */ BSTR *pbstrTargetIPAddress);
  1403. void __RPC_STUB INetSharingPortMappingProps_get_TargetIPAddress_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMappingProps_get_Enabled_Proxy( 
  1409.     INetSharingPortMappingProps * This,
  1410.     /* [retval][out] */ VARIANT_BOOL *pbool);
  1411. void __RPC_STUB INetSharingPortMappingProps_get_Enabled_Stub(
  1412.     IRpcStubBuffer *This,
  1413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1414.     PRPC_MESSAGE _pRpcMessage,
  1415.     DWORD *_pdwStubPhase);
  1416. #endif  /* __INetSharingPortMappingProps_INTERFACE_DEFINED__ */
  1417. #ifndef __INetSharingPortMapping_INTERFACE_DEFINED__
  1418. #define __INetSharingPortMapping_INTERFACE_DEFINED__
  1419. /* interface INetSharingPortMapping */
  1420. /* [unique][dual][oleautomation][uuid][object] */ 
  1421. EXTERN_C const IID IID_INetSharingPortMapping;
  1422. #if defined(__cplusplus) && !defined(CINTERFACE)
  1423.     
  1424.     MIDL_INTERFACE("C08956B1-1CD3-11D1-B1C5-00805FC1270E")
  1425.     INetSharingPortMapping : public IDispatch
  1426.     {
  1427.     public:
  1428.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disable( void) = 0;
  1429.         
  1430.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Enable( void) = 0;
  1431.         
  1432.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  1433.             /* [retval][out] */ INetSharingPortMappingProps **ppNSPMP) = 0;
  1434.         
  1435.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
  1436.         
  1437.     };
  1438.     
  1439. #else  /* C style interface */
  1440.     typedef struct INetSharingPortMappingVtbl
  1441.     {
  1442.         BEGIN_INTERFACE
  1443.         
  1444.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1445.             INetSharingPortMapping * This,
  1446.             /* [in] */ REFIID riid,
  1447.             /* [iid_is][out] */ void **ppvObject);
  1448.         
  1449.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1450.             INetSharingPortMapping * This);
  1451.         
  1452.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1453.             INetSharingPortMapping * This);
  1454.         
  1455.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1456.             INetSharingPortMapping * This,
  1457.             /* [out] */ UINT *pctinfo);
  1458.         
  1459.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1460.             INetSharingPortMapping * This,
  1461.             /* [in] */ UINT iTInfo,
  1462.             /* [in] */ LCID lcid,
  1463.             /* [out] */ ITypeInfo **ppTInfo);
  1464.         
  1465.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1466.             INetSharingPortMapping * This,
  1467.             /* [in] */ REFIID riid,
  1468.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1469.             /* [in] */ UINT cNames,
  1470.             /* [in] */ LCID lcid,
  1471.             /* [size_is][out] */ DISPID *rgDispId);
  1472.         
  1473.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1474.             INetSharingPortMapping * This,
  1475.             /* [in] */ DISPID dispIdMember,
  1476.             /* [in] */ REFIID riid,
  1477.             /* [in] */ LCID lcid,
  1478.             /* [in] */ WORD wFlags,
  1479.             /* [out][in] */ DISPPARAMS *pDispParams,
  1480.             /* [out] */ VARIANT *pVarResult,
  1481.             /* [out] */ EXCEPINFO *pExcepInfo,
  1482.             /* [out] */ UINT *puArgErr);
  1483.         
  1484.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disable )( 
  1485.             INetSharingPortMapping * This);
  1486.         
  1487.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Enable )( 
  1488.             INetSharingPortMapping * This);
  1489.         
  1490.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1491.             INetSharingPortMapping * This,
  1492.             /* [retval][out] */ INetSharingPortMappingProps **ppNSPMP);
  1493.         
  1494.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1495.             INetSharingPortMapping * This);
  1496.         
  1497.         END_INTERFACE
  1498.     } INetSharingPortMappingVtbl;
  1499.     interface INetSharingPortMapping
  1500.     {
  1501.         CONST_VTBL struct INetSharingPortMappingVtbl *lpVtbl;
  1502.     };
  1503.     
  1504. #ifdef COBJMACROS
  1505. #define INetSharingPortMapping_QueryInterface(This,riid,ppvObject)
  1506.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1507. #define INetSharingPortMapping_AddRef(This)
  1508.     (This)->lpVtbl -> AddRef(This)
  1509. #define INetSharingPortMapping_Release(This)
  1510.     (This)->lpVtbl -> Release(This)
  1511. #define INetSharingPortMapping_GetTypeInfoCount(This,pctinfo)
  1512.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1513. #define INetSharingPortMapping_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1514.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1515. #define INetSharingPortMapping_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1516.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1517. #define INetSharingPortMapping_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1518.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1519. #define INetSharingPortMapping_Disable(This)
  1520.     (This)->lpVtbl -> Disable(This)
  1521. #define INetSharingPortMapping_Enable(This)
  1522.     (This)->lpVtbl -> Enable(This)
  1523. #define INetSharingPortMapping_get_Properties(This,ppNSPMP)
  1524.     (This)->lpVtbl -> get_Properties(This,ppNSPMP)
  1525. #define INetSharingPortMapping_Delete(This)
  1526.     (This)->lpVtbl -> Delete(This)
  1527. #endif /* COBJMACROS */
  1528. #endif  /* C style interface */
  1529. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE INetSharingPortMapping_Disable_Proxy( 
  1530.     INetSharingPortMapping * This);
  1531. void __RPC_STUB INetSharingPortMapping_Disable_Stub(
  1532.     IRpcStubBuffer *This,
  1533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1534.     PRPC_MESSAGE _pRpcMessage,
  1535.     DWORD *_pdwStubPhase);
  1536. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE INetSharingPortMapping_Enable_Proxy( 
  1537.     INetSharingPortMapping * This);
  1538. void __RPC_STUB INetSharingPortMapping_Enable_Stub(
  1539.     IRpcStubBuffer *This,
  1540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1541.     PRPC_MESSAGE _pRpcMessage,
  1542.     DWORD *_pdwStubPhase);
  1543. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE INetSharingPortMapping_get_Properties_Proxy( 
  1544.     INetSharingPortMapping * This,
  1545.     /* [retval][out] */ INetSharingPortMappingProps **ppNSPMP);
  1546. void __RPC_STUB INetSharingPortMapping_get_Properties_Stub(
  1547.     IRpcStubBuffer *This,
  1548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1549.     PRPC_MESSAGE _pRpcMessage,
  1550.     DWORD *_pdwStubPhase);
  1551. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE INetSharingPortMapping_Delete_Proxy( 
  1552.     INetSharingPortMapping * This);
  1553. void __RPC_STUB INetSharingPortMapping_Delete_Stub(
  1554.     IRpcStubBuffer *This,
  1555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1556.     PRPC_MESSAGE _pRpcMessage,
  1557.     DWORD *_pdwStubPhase);
  1558. #endif  /* __INetSharingPortMapping_INTERFACE_DEFINED__ */
  1559. #ifndef __IEnumNetSharingEveryConnection_INTERFACE_DEFINED__
  1560. #define __IEnumNetSharingEveryConnection_INTERFACE_DEFINED__
  1561. /* interface IEnumNetSharingEveryConnection */
  1562. /* [unique][uuid][object] */ 
  1563. EXTERN_C const IID IID_IEnumNetSharingEveryConnection;
  1564. #if defined(__cplusplus) && !defined(CINTERFACE)
  1565.     
  1566.     MIDL_INTERFACE("C08956B8-1CD3-11D1-B1C5-00805FC1270E")
  1567.     IEnumNetSharingEveryConnection : public IUnknown
  1568.     {
  1569.     public:
  1570.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1571.             /* [in] */ ULONG celt,
  1572.             /* [length_is][size_is][out] */ VARIANT *rgVar,
  1573.             /* [out] */ ULONG *pceltFetched) = 0;
  1574.         
  1575.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1576.             /* [in] */ ULONG celt) = 0;
  1577.         
  1578.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1579.         
  1580.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1581.             /* [out] */ IEnumNetSharingEveryConnection **ppenum) = 0;
  1582.         
  1583.     };
  1584.     
  1585. #else  /* C style interface */
  1586.     typedef struct IEnumNetSharingEveryConnectionVtbl
  1587.     {
  1588.         BEGIN_INTERFACE