|
|
//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (c) Microsoft Corporation. All rights reserved. // // File: HNetCfg.idl // //----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------") cpp_quote("//") cpp_quote("// Microsoft Windows") cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.") cpp_quote("//") cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if ( _MSC_VER >= 800 )") cpp_quote("#pragma warning(disable:4201)") cpp_quote("#endif")
#ifndef DO_NO_IMPORTS import "unknwn.idl"; import "wtypes.idl"; import "netcon.idl"; import "netcfgx.idl"; #endif
cpp_quote("") cpp_quote("EXTERN_C const CLSID CLSID_HNetCfgMgr;") cpp_quote("EXTERN_C const CLSID CLSID_SharingManagerEnumPublicConnection;") cpp_quote("EXTERN_C const CLSID CLSID_SharingManagerEnumPrivateConnection;") cpp_quote("EXTERN_C const CLSID CLSID_SharingManagerEnumApplicationDefinition;") cpp_quote("EXTERN_C const CLSID CLSID_SharingManagerEnumPortMapping;") cpp_quote("EXTERN_C const CLSID CLSID_SharingApplicationDefinition;") cpp_quote("EXTERN_C const CLSID CLSID_SharingApplicationConfiguration;") cpp_quote("EXTERN_C const CLSID CLSID_NetSharingConfiguration;")
// Reserved GUIDS for our use // // 85D18B6C-3032-11D4-9348-00C04F8EEB71 IID_IHNetCfgMgr // 85D18B6D-3032-11D4-9348-00C04F8EEB71 IID_IHNetBridgeSettings // 85D18B6E-3032-11D4-9348-00C04F8EEB71 IID_IHNetFirewallSettings // 85D18B6F-3032-11D4-9348-00C04F8EEB71 IID_IHNetIcsSettings // 85D18B70-3032-11D4-9348-00C04F8EEB71 IID_IHNetProtocolSettings // 85D18B71-3032-11D4-9348-00C04F8EEB71 IID_IHNetConnection // 85D18B72-3032-11D4-9348-00C04F8EEB71 IID_IHNetFirewalledConnection // 85D18B73-3032-11D4-9348-00C04F8EEB71 IID_IHNetIcsPublicConnection // 85D18B74-3032-11D4-9348-00C04F8EEB71 IID_IHNetIcsPrivateConnection // 85D18B75-3032-11D4-9348-00C04F8EEB71 IID_IHNetBridge // 85D18B76-3032-11D4-9348-00C04F8EEB71 IID_IHNetBridgedConnection // 85D18B77-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetBridges // 85D18B78-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetFirewalledConnections // 85D18B79-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetIcsPublicConnections // 85D18B7A-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetIcsPrivateConnections // 85D18B7B-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetApplicationProtocols // 85D18B7C-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetPortMappingProtocols // 85D18B7D-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetBridgedConnections // 85D18B7E-3032-11D4-9348-00C04F8EEB71 IID_IHNetPortMappingProtocol // 85D18B7F-3032-11D4-9348-00C04F8EEB71 IID_IHNetApplicationProtocol // 85D18B80-3032-11D4-9348-00C04F8EEB71 IID_IHNetPortMappingBinding // 85D18B81-3032-11D4-9348-00C04F8EEB71 IID_IEnumHNetPortMappingBindings // ... // 85D18B9C-3032-11D4-9348-00C04F8EEB71
interface IHNetCfgMgr; interface IHNetBridgeSettings; interface IHNetFirewallSettings; interface IHNetIcsSettings; interface IHNetProtocolSettings; interface IHNetConnection; interface IHNetFirewalledConnection; interface IHNetIcsPublicConnection; interface IHNetIcsPrivateConnection; interface IHNetBridge; interface IHNetBridgedConnection; interface IHNetPortMappingProtocol; interface IHNetApplicationProtocol; interface IHNetPortMappingBinding; interface IEnumHNetBridges; interface IEnumHNetFirewalledConnections; interface IEnumHNetIcsPublicConnections; interface IEnumHNetIcsPrivateConnections; interface IEnumHNetApplicationProtocols; interface IEnumHNetPortMappingProtocols; interface IEnumHNetBridgedConnections; interface IEnumHNetPortMappingBindings;
//+--------------------------------------------------------------------------- // IHNetCfgMgr -- root interface for the home networking configuration // manager. // [ local, object, uuid(85D18B6C-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetCfgMgr : IUnknown { HRESULT GetIHNetConnectionForINetConnection( [in] INetConnection *pNetConnection, [out] IHNetConnection **ppHNetConnection );
HRESULT GetIHNetConnectionForGuid( [in] GUID *pGuid, [in] BOOLEAN fLanConnection, [in] BOOLEAN fCreateEntries, [out] IHNetConnection **ppHNetConnection ); };
//+--------------------------------------------------------------------------- // IHNetBridgeSettings -- interface to control system-wide bridge settings // [ local, object, uuid(85D18B6D-3032-11D4-9348-00C04F8EEB71), pointer_default(unique), ] interface IHNetBridgeSettings : IUnknown { HRESULT EnumBridges( [out] IEnumHNetBridges **ppEnum );
HRESULT CreateBridge( [out] IHNetBridge **ppHNetBridge, [in, defaultvalue(NULL)] INetCfg *pnetcfgExisting );
HRESULT DestroyAllBridges( [out] ULONG *pcBridges, [in, defaultvalue(NULL)] INetCfg *pnetcfgExisting ); };
//+--------------------------------------------------------------------------- // IHNetFirewallSettings -- interface to control system-wide firewall settings // [ local, object, uuid(85D18B6E-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetFirewallSettings : IUnknown { typedef struct tagHNET_FW_LOGGING_SETTINGS { [string] LPWSTR pszwPath; ULONG ulMaxFileSize; BOOLEAN fLogDroppedPackets; BOOLEAN fLogConnections; } HNET_FW_LOGGING_SETTINGS;
HRESULT EnumFirewalledConnections( [out] IEnumHNetFirewalledConnections **ppEnum );
HRESULT GetFirewallLoggingSettings( [out] HNET_FW_LOGGING_SETTINGS **ppSettings );
HRESULT SetFirewallLoggingSettings( [in] HNET_FW_LOGGING_SETTINGS *pSettings );
HRESULT DisableAllFirewalling( [out] ULONG *pcFirewalledConnections );
};
cpp_quote("VOID") cpp_quote("HNetFreeFirewallLoggingSettings(") cpp_quote(" HNET_FW_LOGGING_SETTINGS *pSettings") cpp_quote(" );")
//+--------------------------------------------------------------------------- // IHNetIcsSettings -- interface to control system-wide ICS settings // [ local, object, uuid(85D18B6F-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetIcsSettings : IUnknown { HRESULT EnumIcsPublicConnections( [out] IEnumHNetIcsPublicConnections **ppEnum );
HRESULT EnumIcsPrivateConnections( [out] IEnumHNetIcsPrivateConnections **ppEnum );
HRESULT DisableIcs( [out] ULONG *pcIcsPublicConnections, [out] ULONG *pcIcsPrivateConnections );
HRESULT GetPossiblePrivateConnections( [in] IHNetConnection *pConn, [out] ULONG *pcPrivateConnections, [out, length_is(*pcPrivateConnections)] IHNetConnection **pprgPrivateConnections[], [out] LONG *pxCurrentPrivate );
HRESULT GetAutodialSettings( [out] BOOLEAN *pfAutodialEnabled );
HRESULT SetAutodialSettings( [in] BOOLEAN fEnableAutodial );
HRESULT GetDhcpEnabled( [out] BOOLEAN *pfDhcpEnabled );
HRESULT SetDhcpEnabled( [in] BOOLEAN fEnableDhcp );
HRESULT GetDhcpScopeSettings( [out] DWORD *pdwScopeAddress, [out] DWORD *pdwScopeMask );
HRESULT SetDhcpScopeSettings( [in] DWORD dwScopeAddress, [in] DWORD dwScopeMask );
HRESULT EnumDhcpReservedAddresses( [out] IEnumHNetPortMappingBindings **ppEnum );
HRESULT GetDnsEnabled( [out] BOOLEAN *pfDnsEnabled );
HRESULT SetDnsEnabled( [in] BOOLEAN fEnableDns ); };
typedef struct tagHNET_RESPONSE_RANGE { UCHAR ucIPProtocol; USHORT usStartPort; USHORT usEndPort; } HNET_RESPONSE_RANGE;
typedef struct tagHNET_PORT_MAPPING_BINDING { OLECHAR *pszwTargetMachineName; ULONG ulTargetMachineAddress; } HNET_PORT_MAPPING_BINDING;
//+--------------------------------------------------------------------------- // IHNetProtocolSettings -- interface to control system-wide ICS and firewall // protocol settings (i.e., port mappings and // applications). // [ local, object, uuid(85D18B70-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetProtocolSettings : IUnknown { HRESULT EnumApplicationProtocols( [in] BOOLEAN fEnabledOnly, [out] IEnumHNetApplicationProtocols **ppEnum );
HRESULT CreateApplicationProtocol( [in] OLECHAR *pszwName, [in] UCHAR ucOutgoingIPProtocol, [in] USHORT usOutgoingPort, [in] USHORT uscResponses, [in, size_is(uscResponses)] HNET_RESPONSE_RANGE rgResponses[], [out] IHNetApplicationProtocol **ppProtocol );
HRESULT EnumPortMappingProtocols( [out] IEnumHNetPortMappingProtocols **ppEnum );
HRESULT CreatePortMappingProtocol( [in] OLECHAR *pszwName, [in] UCHAR ucIPProtocol, [in] USHORT usPort, [out] IHNetPortMappingProtocol **ppProtocol );
HRESULT FindPortMappingProtocol( [in] GUID *pGuid, [out] IHNetPortMappingProtocol **ppProtocol ); };
//+--------------------------------------------------------------------------- // IHNetConnection -- interface to control home networking settings for // a connection // [ local, object, uuid(85D18B71-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetConnection : IUnknown { typedef struct tagHNET_CONN_PROPERTIES { BOOLEAN fLanConnection; BOOLEAN fFirewalled; BOOLEAN fIcsPublic; BOOLEAN fIcsPrivate; BOOLEAN fBridge; BOOLEAN fPartOfBridge; BOOLEAN fCanBeBridged; BOOLEAN fCanBeFirewalled; BOOLEAN fCanBeIcsPublic; BOOLEAN fCanBeIcsPrivate; } HNET_CONN_PROPERTIES;
typedef struct tagHNET_FW_ICMP_SETTINGS { BOOLEAN fAllowOutboundDestinationUnreachable; BOOLEAN fAllowOutboundSourceQuench; BOOLEAN fAllowRedirect; BOOLEAN fAllowInboundEchoRequest; BOOLEAN fAllowInboundRouterRequest; BOOLEAN fAllowOutboundTimeExceeded; BOOLEAN fAllowOutboundParameterProblem; BOOLEAN fAllowInboundTimestampRequest; BOOLEAN fAllowInboundMaskRequest; } HNET_FW_ICMP_SETTINGS;
HRESULT GetINetConnection( [out] INetConnection **ppNetConnection );
HRESULT GetGuid( [out] GUID **ppGuid );
HRESULT GetName( [out, string] OLECHAR **ppszwName );
HRESULT GetRasPhonebookPath( [out, string] OLECHAR **ppszwPath );
HRESULT GetProperties( [out] HNET_CONN_PROPERTIES **ppProperties );
HRESULT GetControlInterface( REFIID iid, [iid_is(iid)] void **ppv );
HRESULT Firewall( [out] IHNetFirewalledConnection **ppFirewalledConn );
HRESULT SharePublic( [out] IHNetIcsPublicConnection **ppIcsPublicConn );
HRESULT SharePrivate( [out] IHNetIcsPrivateConnection **ppIcsPrivateConn );
// // The 4 methods below conceptually would only be called on a connection // that is firewalled (all 4) or shared (first two only). However, it's // possible to modify these settings in the UI before the connection is // actually firewalled or shared, so we must make the methods available // on all connections. //
HRESULT EnumPortMappings( [in] BOOLEAN fEnabledOnly, [out] IEnumHNetPortMappingBindings **ppEnum );
HRESULT GetBindingForPortMappingProtocol( [in] IHNetPortMappingProtocol *pProtocol, [out] IHNetPortMappingBinding **ppBinding );
HRESULT GetIcmpSettings( [out] HNET_FW_ICMP_SETTINGS **ppSettings );
HRESULT SetIcmpSettings( [in] HNET_FW_ICMP_SETTINGS *pSettings );
HRESULT ShowAutoconfigBalloon( [out] BOOLEAN *pfShowBalloon );
HRESULT DeleteRasConnectionEntry(); };
//+--------------------------------------------------------------------------- // IHNetFirewalledConnection -- interface to control settings specific to a // firewalled connection // [ local, object, uuid(85D18B72-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetFirewalledConnection : IUnknown { HRESULT Unfirewall(); };
//+--------------------------------------------------------------------------- // IHNetIcsPublicConnection -- interface to control settings specific to a // public ICS connection // [ local, object, uuid(85D18B73-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetIcsPublicConnection : IUnknown { HRESULT Unshare(); };
//+--------------------------------------------------------------------------- // IHNetIcsPrivateConnection -- interface to control settings specific to a // private ICS connection // [ local, object, uuid(85D18B74-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetIcsPrivateConnection : IUnknown { HRESULT RemoveFromIcs(); };
//+--------------------------------------------------------------------------- // IHNetBridge -- interface to control settings specific to a connection that // is a bridge // [ local, object, uuid(85D18B75-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetBridge : IUnknown { HRESULT EnumMembers( [out] IEnumHNetBridgedConnections **ppEnum );
HRESULT AddMember( [in] IHNetConnection *pConn, [out] IHNetBridgedConnection **ppBridgedConn, [in, defaultvalue(NULL)] INetCfg *pnetcfgExisting );
HRESULT Destroy( [in, defaultvalue(NULL)] INetCfg *pnetcfgExisting ); };
//+--------------------------------------------------------------------------- // IHNetBridgedConnection -- interface to control settings specific to a // connection that is part of a bridge // [ local, object, uuid(85D18B76-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetBridgedConnection : IUnknown { HRESULT GetBridge( [out] IHNetBridge **ppBridge );
HRESULT RemoveFromBridge( [in, defaultvalue(NULL)] INetCfg *pnetcfgExisting ); };
//+--------------------------------------------------------------------------- // IHNetPortMappingProtocol -- interface that represents a port mapping // protocol definition // [ local, object, uuid(85D18B7E-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetPortMappingProtocol : IUnknown { HRESULT GetName( [out, string] OLECHAR **ppszwName );
HRESULT SetName( [in, string] OLECHAR *pszwName );
HRESULT GetIPProtocol( [out] UCHAR *pucProtocol );
HRESULT SetIPProtocol( [in] UCHAR ucProtocol );
HRESULT GetPort( [out] USHORT *pusPort );
HRESULT SetPort( [in] USHORT usPort );
HRESULT GetBuiltIn( [out] BOOLEAN *pfBuiltIn );
HRESULT Delete();
HRESULT GetGuid( [out] GUID **ppGuid ); };
//+--------------------------------------------------------------------------- // IHNetPortMappingBinding -- interface that represents the port mapping // settings in use by a connection // [ local, object, uuid(85D18B80-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetPortMappingBinding : IUnknown { HRESULT GetConnection( [out] IHNetConnection **ppConnection );
HRESULT GetProtocol( [out] IHNetPortMappingProtocol **ppProtocol );
HRESULT GetEnabled( [out] BOOLEAN *pfEnabled );
HRESULT SetEnabled( [in] BOOLEAN fEnable );
HRESULT GetCurrentMethod( [out] BOOLEAN *pfUseName );
HRESULT GetTargetComputerName( [out, string] OLECHAR **ppszwName );
HRESULT SetTargetComputerName( [in, string] OLECHAR *pszwName );
HRESULT GetTargetComputerAddress( [out] ULONG *pulAddress );
HRESULT SetTargetComputerAddress( [in] ULONG ulAddress );
HRESULT GetTargetPort( [out] USHORT *pusPort );
HRESULT SetTargetPort( [in] USHORT usPort ); };
//+--------------------------------------------------------------------------- // IHNetApplicationProtocol -- interface that represents an application // protocol definition // [ local, object, uuid(85D18B7F-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IHNetApplicationProtocol : IUnknown { HRESULT GetName( [out, string] OLECHAR **ppszwName );
HRESULT SetName( [in, string] OLECHAR *pszwName );
HRESULT GetOutgoingIPProtocol( [out] UCHAR *pucProtocol );
HRESULT SetOutgoingIPProtocol( [in] UCHAR ucProtocol );
HRESULT GetOutgoingPort( [out] USHORT *pusPort );
HRESULT SetOutgoingPort( [in] USHORT usPort );
HRESULT GetResponseRanges( [out] USHORT *puscResponses, [out, length_is(*puscResponses)] HNET_RESPONSE_RANGE *prgResponseRange[] );
HRESULT SetResponseRanges( [in] USHORT uscResponses, [in, size_is(uscResponses)] HNET_RESPONSE_RANGE rgResponseRange[] );
HRESULT GetBuiltIn( [out] BOOLEAN *pfBuiltIn );
HRESULT GetEnabled( [out] BOOLEAN *pfEnabled );
HRESULT SetEnabled( [in] BOOLEAN fEnable );
HRESULT Delete(); };
//+--------------------------------------------------------------------------- // IEnumHNetBridges -- interface to enumerate connections that are bridges // [ local, object, uuid(85D18B77-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetBridges : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetBridge **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetBridges **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetFirewalledConnections -- interface to enumerate connections that // are firewalled // [ local, object, uuid(85D18B78-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetFirewalledConnections : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetFirewalledConnection **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetFirewalledConnections **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetIcsPublicConnections -- interface to enumerate connections that // ICS private // [ local, object, uuid(85D18B79-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetIcsPublicConnections : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetIcsPublicConnection **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetIcsPublicConnections **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetIcsPrivateConnections -- interface to enumerate connections that // are ICS private // [ local, object, uuid(85D18B7A-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetIcsPrivateConnections : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetIcsPrivateConnection **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetIcsPrivateConnections **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetApplicationProtocols -- interface to enumerate ICS and firewall // application (response) protocols // [ local, object, uuid(85D18B7B-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetApplicationProtocols : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetApplicationProtocol **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetApplicationProtocols **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetPortMappingProtocols -- interface to enumerate ICS and firewall // port mapping protocol definitions // [ local, object, uuid(85D18B7C-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetPortMappingProtocols : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetPortMappingProtocol **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetPortMappingProtocols **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetPortMappingBindings -- interface to enumerate the port mappings // that are actually in use by a connection // [ local, object, uuid(85D18B81-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetPortMappingBindings : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetPortMappingBinding **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetPortMappingBindings **ppEnum ); };
//+--------------------------------------------------------------------------- // IEnumHNetBridgedConnections -- interface to enumerate connections that // are members in a bridge // [ local, object, uuid(85D18B7D-3032-11D4-9348-00C04F8EEB71), pointer_default(unique) ] interface IEnumHNetBridgedConnections : IUnknown { HRESULT Next( [in] ULONG cElt, [out, size_is(cElt), length_is(*pcEltFetched)] IHNetBridgedConnection **rgElt, [out] ULONG *pcEltFetched );
HRESULT Skip( [in] ULONG cElt );
HRESULT Reset();
HRESULT Clone( [out] IEnumHNetBridgedConnections **ppEnum ); };
cpp_quote("#ifndef NOTIFYFORMATBUFFERSIZE") cpp_quote("#define NOTIFYFORMATBUFFERSIZE 1024") cpp_quote("#endif")
cpp_quote("#ifndef HNWCALLBACKBUFFERSIZE") cpp_quote("#define HNWCALLBACKBUFFERSIZE 1024") cpp_quote("#endif")
cpp_quote("typedef VOID (STDMETHODCALLTYPE HNWCALLBACK)(LPCWSTR pszLogEntry, LPARAM lParam);") cpp_quote("typedef HNWCALLBACK *LPHNWCALLBACK;")
cpp_quote("HRESULT APIENTRY") cpp_quote("HNetGetShareAndBridgeSettings(") cpp_quote(" OUT INetConnection **ppNetPublicConnection,") cpp_quote(" OUT INetConnection ***ppNetPrivateConnection,") cpp_quote(" OUT BOOLEAN *pbSharePublicConnection,") cpp_quote(" OUT BOOLEAN *pbFirewallPublicConnection") cpp_quote(" );")
cpp_quote("HRESULT APIENTRY") cpp_quote("HNetSetShareAndBridgeSettings(") cpp_quote(" IN INetConnection *pNetPublicConnection,") cpp_quote(" IN INetConnection *pNetPrivateConnection[],") cpp_quote(" IN BOOLEAN bSharePublicConnection,") cpp_quote(" IN BOOLEAN bFirewallPublicConnection,") cpp_quote(" IN LPHNWCALLBACK lpHnwCallback,") cpp_quote(" IN LPARAM lpContext,") cpp_quote(" OUT INetConnection **pNetPrivateInterface") cpp_quote(" );")
cpp_quote("typedef HRESULT (APIENTRY *LPFNHNETSETSHAREANDBRIDGESETTINGS)(") cpp_quote(" INetConnection *pNetPublicConnection,") cpp_quote(" INetConnection *pNetPrivateConnection[],") cpp_quote(" BOOLEAN bSharePublicConnection,") cpp_quote(" BOOLEAN bFirewallPublicConnection,") cpp_quote(" LPHNWCALLBACK lpHnwCallback,") cpp_quote(" LPARAM lpContext,") cpp_quote(" INetConnection **pNetPrivateInterface );")
cpp_quote("HRESULT APIENTRY") cpp_quote("ObtainIcsErrorConditions(") cpp_quote(" IN LPHNWCALLBACK lpHnwCallback,") cpp_quote(" IN LPARAM lpContext );")
cpp_quote("BOOL APIENTRY") cpp_quote("HNetSharedAccessSettingsDlg(") cpp_quote(" IN BOOL fSharedAccessMode,") cpp_quote(" IN HWND hwndOwner );")
cpp_quote("BOOL APIENTRY") cpp_quote("HNetSharingAndFirewallSettingsDlg(") cpp_quote(" IN HWND hwndOwner,") cpp_quote(" IN IHNetCfgMgr *pHNetCfgMgr,") cpp_quote(" IN BOOL fShowFwOnlySettings,") cpp_quote(" IN OPTIONAL IHNetConnection *pHNetConn);")
|