NetCon.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:26k
- //+---------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // File: netcon.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 "oaidl.idl";
- import "unknwn.idl";
- import "wtypes.idl";
- import "prsht.idl";
- #endif
- cpp_quote("")
- cpp_quote("EXTERN_C const CLSID CLSID_ConnectionManager;")
- cpp_quote("EXTERN_C const CLSID CLSID_ConnectionCommonUi;")
- cpp_quote("EXTERN_C const CLSID CLSID_NetSharingManager;")
- cpp_quote("")
- cpp_quote("//These strings reference the HKEY_CURRENT_USER registry which")
- cpp_quote("//retains whether shortcuts are created on the desktop.")
- cpp_quote("#define NETCON_HKEYCURRENTUSERPATH TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\Network\\Network Connections")")
- cpp_quote("#define NETCON_DESKTOPSHORTCUT TEXT("DesktopShortcut")")
- cpp_quote("#define NETCON_MAX_NAME_LEN 246")
- cpp_quote("")
- // Reserved GUIDS for our use
- //
- // C08956A0-1CD3-11D1-B1C5-00805FC1270E IID_IEnumNetConnection
- // C08956A1-1CD3-11D1-B1C5-00805FC1270E IID_INetConnection
- // C08956A2-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionManager
- // C08956A3-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionConnectUi
- // C08956A4-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionPropertyUi
- // C08956A5-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionCommonUi
- // C08956A6-1CD3-11D1-B1C5-00805FC1270E IID_INetLanConnectionUiInfo
- // ...
- // C08956B0-1CD3-11D1-B1C5-00805FC1270E IID_IEnumNetSharingPortMapping
- // C08956B1-1CD3-11D1-B1C5-00805FC1270E IID_INetSharingPortMapping
- // C08956B2-1CD3-11D1-B1C5-00805FC1270E
- // C08956B3-1CD3-11D1-B1C5-00805FC1270E
- // C08956B4-1CD3-11D1-B1C5-00805FC1270E IID_IEnumNetSharingPublicConnection
- // C08956B5-1CD3-11D1-B1C5-00805FC1270E IID_IEnumNetSharingPrivateConnection
- // C08956B6-1CD3-11D1-B1C5-00805FC1270E IID_INetSharingConfiguration
- // C08956B7-1CD3-11D1-B1C5-00805FC1270E IID_INetSharingManager
- // C08956B8-1CD3-11D1-B1C5-00805FC1270E IID_IEnumNetSharingEveryConnection
- // C08956B9-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionPropertyUi2
- // C08956BA-1CD3-11D1-B1C5-00805FC1270E IID_INetConnectionManagerEvents
- // ...
- // C08956FE-1CD3-11D1-B1C5-00805FC1270E
- // C08956FF-1CD3-11D1-B1C5-00805FC1270E
- // C0895700-1CD3-11D1-B1C5-00805FC1270E
- //
- interface IEnumNetConnection;
- interface INetConnection;
- interface INetConnectionManager;
- interface INetConnectionConnectUi;
- interface INetConnectionPropertyUi;
- interface INetConnectionPropertyUi2;
- interface INetConnectionCommonUi;
- interface INetLanConnectionUiInfo;
- interface INetConnectionManagerEvents;
- interface IEnumNetSharingPortMapping;
- interface INetSharingPortMapping;
- interface IEnumNetSharingPublicConnection;
- interface IEnumNetSharingPrivateConnection;
- interface IEnumNetSharingEveryConnection;
- interface INetSharingConfiguration;
- interface INetSharingManager;
- //+---------------------------------------------------------------------------
- // IEnumNetConnection - An enumerator for INetConnection objects.
- //
- [
- object,
- uuid(C08956A0-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface IEnumNetConnection : IUnknown
- {
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- INetConnection** rgelt,
- [out] ULONG* pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumNetConnection** ppenum);
- };
- //+---------------------------------------------------------------------------
- // INetConnection -
- //
- [
- object,
- uuid(C08956A1-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnection : IUnknown
- {
- typedef enum tagNETCON_CHARACTERISTIC_FLAGS
- {
- NCCF_NONE = 0x0000, // No special characteristics
- NCCF_ALL_USERS = 0x0001, // Connection is available to all users
- NCCF_ALLOW_DUPLICATION = 0x0002, // Connection is duplicable
- NCCF_ALLOW_REMOVAL = 0x0004, // Connection is removable
- NCCF_ALLOW_RENAME = 0x0008, // Connection can be renamed
- NCCF_SHOW_ICON = 0x0010, // Shows icon in taskbar when connected
- NCCF_INCOMING_ONLY = 0x0020, // Direction is "incoming" only
- NCCF_OUTGOING_ONLY = 0x0040, // Direction is "outgoing" only
- NCCF_BRANDED = 0x0080, // Icons are branded
- NCCF_SHARED = 0x0100, // Connection is shared
- NCCF_BRIDGED = 0x0200, // Connection is bridged
- NCCF_FIREWALLED = 0x0400, // Connection is firewalled
- NCCF_DEFAULT = 0x0800, // This is the default connection
- } NETCON_CHARACTERISTIC_FLAGS;
- typedef enum tagNETCON_STATUS
- {
- NCS_DISCONNECTED,
- NCS_CONNECTING,
- NCS_CONNECTED,
- NCS_DISCONNECTING,
- NCS_HARDWARE_NOT_PRESENT,
- NCS_HARDWARE_DISABLED,
- NCS_HARDWARE_MALFUNCTION,
- NCS_MEDIA_DISCONNECTED,
- NCS_AUTHENTICATING,
- NCS_AUTHENTICATION_SUCCEEDED,
- NCS_AUTHENTICATION_FAILED,
- NCS_INVALID_ADDRESS,
- NCS_CREDENTIALS_REQUIRED
- } NETCON_STATUS;
- typedef enum tagNETCON_TYPE
- {
- NCT_DIRECT_CONNECT,
- NCT_INBOUND,
- NCT_INTERNET,
- NCT_LAN,
- NCT_PHONE,
- NCT_TUNNEL,
- NCT_BRIDGE,
- } NETCON_TYPE;
- typedef enum tagNETCON_MEDIATYPE
- {
- NCM_NONE,
- NCM_DIRECT,
- NCM_ISDN,
- NCM_LAN,
- NCM_PHONE,
- NCM_TUNNEL,
- NCM_PPPOE,
- NCM_BRIDGE,
- NCM_SHAREDACCESSHOST_LAN,
- NCM_SHAREDACCESSHOST_RAS,
- } NETCON_MEDIATYPE;
- typedef struct tagNETCON_PROPERTIES
- {
- GUID guidId;
- [string] LPWSTR pszwName;
- [string] LPWSTR pszwDeviceName;
- NETCON_STATUS Status;
- NETCON_MEDIATYPE MediaType;
- DWORD dwCharacter;
- CLSID clsidThisObject;
- CLSID clsidUiObject;
- } NETCON_PROPERTIES;
- HRESULT Connect();
- cpp_quote("#define S_OBJECT_NO_LONGER_VALID ((HRESULT)0x00000002L)")
- // Disconnect can return S_OBJECT_NO_LONGER_VALID which indicates
- // success, but that the object is no longer valid. Clients, when
- // getting this error message, should simply release the interface.
- //
- HRESULT Disconnect();
- HRESULT Delete();
- HRESULT Duplicate(
- [in, string] LPCWSTR pszwDuplicateName,
- [out] INetConnection** ppCon);
- HRESULT GetProperties(
- [out] NETCON_PROPERTIES** ppProps);
- HRESULT GetUiObjectClassId(
- [out, ref] CLSID* pclsid);
- HRESULT Rename(
- [in, string] LPCWSTR pszwNewName);
- };
- cpp_quote("")
- cpp_quote("STDAPI_(VOID) NcFreeNetconProperties (NETCON_PROPERTIES* pProps);")
- cpp_quote("")
- cpp_quote("")
- cpp_quote("STDAPI_(BOOL) NcIsValidConnectionName (PCWSTR pszwName);")
- cpp_quote("")
- //+---------------------------------------------------------------------------
- // INetConnectionManager - The top-level object that contains all of the
- // INetConnection objects on a machine.
- //
- // This interface manages INetConnection objects. It provides methods
- // to:
- // - Enumerate INetConnections
- // - Remove an INetConnection
- // - Find an INetConnection
- //
- // Note: Adding a connection is not yet performed programatically through
- // the connection manager. Instead, the shell owns creating connection
- // objects through a UI interface.
- //
- [
- object,
- uuid(C08956A2-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionManager : IUnknown
- {
- typedef enum tagNETCONMGR_ENUM_FLAGS
- {
- NCME_DEFAULT = 0x0,
- } NETCONMGR_ENUM_FLAGS;
- // Return an IEnumNetConnection interface used to enumerate all of
- // the contained connection objects.
- //
- HRESULT EnumConnections(
- [in] NETCONMGR_ENUM_FLAGS Flags,
- [out] IEnumNetConnection** ppEnum);
- };
- //+---------------------------------------------------------------------------
- // INetConnectionManagerEvents -
- //
- [
- object,
- uuid(C08956BA-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionManagerEvents : IUnknown
- {
- HRESULT RefreshConnections();
- HRESULT Enable();
- HRESULT Disable(
- [in] ULONG ulDisableTimeout);
- };
- //+---------------------------------------------------------------------------
- // INetConnectionConnectUi -
- //
- [
- local,
- object,
- uuid(C08956A3-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionConnectUi : IUnknown
- {
- typedef enum tagNETCONUI_CONNECT_FLAGS
- {
- NCUC_DEFAULT = 0x0000,
- NCUC_NO_UI = 0x0001,
- } NETCONUI_CONNECT_FLAGS;
- HRESULT SetConnection(
- [in] INetConnection* pCon);
- HRESULT Connect (
- [in] HWND hwndParent,
- [in] DWORD dwFlags);
- HRESULT Disconnect (
- [in] HWND hwndParent,
- [in] DWORD dwFlags);
- };
- //+---------------------------------------------------------------------------
- // INetConnectionPropertyUi -
- //
- [
- local,
- object,
- uuid(C08956A4-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionPropertyUi : IUnknown
- {
- HRESULT SetConnection(
- [in] INetConnection* pCon);
- HRESULT AddPages (
- [in] HWND hwndParent,
- [in] LPFNADDPROPSHEETPAGE pfnAddPage,
- [in] LPARAM lParam);
- };
- //+---------------------------------------------------------------------------
- // INetConnectionPropertyUi2 -
- //
- [
- local,
- object,
- uuid(C08956B9-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionPropertyUi2 : INetConnectionPropertyUi
- {
- HRESULT GetIcon(
- [in] DWORD dwSize,
- [out] HICON *phIcon);
- };
- //+---------------------------------------------------------------------------
- // INetConnectionCommonUi -
- //
- [
- local,
- object,
- uuid(C08956A5-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface INetConnectionCommonUi : IUnknown
- {
- typedef enum tagNETCON_CHOOSEFLAGS
- {
- NCCHF_CONNECT = 0x0001, // Selected Connection is activated
- // and returned. If not set then
- // the selected connection interface
- // is returned without being activated
- NCCHF_CAPTION = 0x0002,
- NCCHF_OKBTTNTEXT = 0x0004,
- NCCHF_DISABLENEW = 0x0008,
- NCCHF_AUTOSELECT = 0x0010, // Automatically Choose or Connect,
- // based upon NCCHF_CONNECT if only
- // one connection matches the
- // dwTypeMask.
- } NETCON_CHOOSEFLAGS;
- typedef enum tagNETCON_CHOOSETYPE
- {
- NCCHT_DIRECT_CONNECT = 0x0001,
- NCCHT_LAN = 0x0002,
- NCCHT_PHONE = 0x0004,
- NCCHT_TUNNEL = 0x0008,
- NCCHT_ISDN = 0x0010,
- NCCHT_ALL = 0x001F
- } NETCON_CHOOSETYPE;
- typedef struct tagNETCON_CHOOSECONN
- {
- DWORD lStructSize;
- HWND hwndParent;
- DWORD dwFlags; // Combine NCCHF_* flags
- DWORD dwTypeMask; // Combine NCCHT_* flags
- LPCWSTR lpstrCaption;
- LPCWSTR lpstrOkBttnText;
- } NETCON_CHOOSECONN;
- HRESULT ChooseConnection(
- [in] NETCON_CHOOSECONN * pChooseConn,
- [out] INetConnection** ppCon);
- HRESULT ShowConnectionProperties (
- [in] HWND hwndParent,
- [in] INetConnection* pCon);
- HRESULT StartNewConnectionWizard (
- [in] HWND hwndParent,
- [out] INetConnection** ppCon);
- };
- //+---------------------------------------------------------------------------
- // IEnumNetSharingPortMapping - An enumerator for INetSharingPortMapping objects.
- //
- [
- object,
- uuid(C08956B0-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface IEnumNetSharingPortMapping : IUnknown
- {
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- VARIANT * rgVar,
- [out] ULONG* pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumNetSharingPortMapping** ppenum);
- };
- [
- object,
- uuid(24B7E9B5-E38F-4685-851B-00892CF5F940),
- oleautomation, dual,
- pointer_default(unique)
- ]
- interface INetSharingPortMappingProps : IDispatch
- {
- [propget, id(1), helpstring("property Name")] HRESULT Name ([out, retval] BSTR * pbstrName);
- [propget, id(2), helpstring("property IPProtocol")] HRESULT IPProtocol ([out, retval] UCHAR * pucIPProt);
- [propget, id(3), helpstring("property ExternalPort")] HRESULT ExternalPort ([out, retval] long * pusPort);
- [propget, id(4), helpstring("property InternalPort")] HRESULT InternalPort ([out, retval] long * pusPort);
- [propget, id(5), helpstring("property Options")] HRESULT Options ([out, retval] long * pdwOptions);
- [propget, id(6), helpstring("property TargetName")] HRESULT TargetName ([out, retval] BSTR * pbstrTargetName);
- [propget, id(7), helpstring("property TargetIPAddress")] HRESULT TargetIPAddress([out, retval] BSTR * pbstrTargetIPAddress);
- [propget, id(8), helpstring("property Enabled")] HRESULT Enabled ([out, retval] VARIANT_BOOL * pbool);
- };
- //+---------------------------------------------------------------------------
- // INetSharingPortMapping -
- //
- [
- object,
- uuid(C08956B1-1CD3-11D1-B1C5-00805FC1270E),
- oleautomation, dual,
- pointer_default(unique)
- ]
- interface INetSharingPortMapping : IDispatch
- {
- [id(1), helpstring("method Disable")]
- HRESULT Disable();
- [id(2), helpstring("method Enable")]
- HRESULT Enable();
- [propget, id(3), helpstring("property Properties")]
- HRESULT Properties(
- [out, retval] INetSharingPortMappingProps ** ppNSPMP);
- [id(4), helpstring("method Delete")]
- HRESULT Delete();
- };
- //+---------------------------------------------------------------------------
- // IEnumNetSharingEveryConnection - An enumerator for INetConnection interface pointers
- // that represent all connections in the connections folder
- //
- [
- object,
- uuid(C08956B8-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface IEnumNetSharingEveryConnection : IUnknown
- {
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- VARIANT * rgVar,
- [out] ULONG* pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumNetSharingEveryConnection** ppenum);
- };
- //+---------------------------------------------------------------------------
- // IEnumNetSharingPublicConnection - An enumerator for INetConnection interface pointers
- // that represent connections configured as publicly shared.
- //
- [
- object,
- uuid(C08956B4-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface IEnumNetSharingPublicConnection : IUnknown
- {
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pceltFetched)]
- VARIANT * rgVar,
- [out] ULONG* pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumNetSharingPublicConnection** ppenum);
- };
- //+---------------------------------------------------------------------------
- // IEnumNetSharingPrivateConnection - An enumerator for INetConnection interface pointers
- // that represent connections configured as privately shared.
- //
- [
- object,
- uuid(C08956B5-1CD3-11D1-B1C5-00805FC1270E),
- pointer_default(unique)
- ]
- interface IEnumNetSharingPrivateConnection : IUnknown
- {
- HRESULT Next(
- [in] ULONG celt,
- [out, size_is(celt), length_is(*pCeltFetched)] VARIANT * rgVar,
- [out] ULONG * pCeltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumNetSharingPrivateConnection** ppenum);
- };
- // Collection needed for INetSharingConfiguration::EnumPortMappings() below
- [
- object,
- uuid(02E4A2DE-DA20-4E34-89C8-AC22275A010B),
- oleautomation, dual,
- helpstring("INetSharingPortMappingCollection Interface"),
- pointer_default(unique)
- ]
- interface INetSharingPortMappingCollection : IDispatch
- {
- [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum: gets item enumerator")] HRESULT _NewEnum([out, retval] IUnknown* *pVal);
- [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
- };
- cpp_quote("// properties for INetConnection (wraps NETCON_PROPERTIES)")
- [
- object,
- uuid(F4277C95-CE5B-463D-8167-5662D9BCAA72),
- oleautomation, dual,
- helpstring("INetConnectionProps Interface"),
- pointer_default(unique)
- ]
- interface INetConnectionProps : IDispatch
- {
- [propget, id(1), helpstring("property Guid")]
- HRESULT Guid ([out, retval] BSTR * pbstrGuid);
- [propget, id(2), helpstring("property Name")]
- HRESULT Name ([out, retval] BSTR * pbstrName);
- [propget, id(3), helpstring("property DeviceName")]
- HRESULT DeviceName ([out, retval] BSTR * pbstrDeviceName);
- [propget, id(4), helpstring("property Status")]
- HRESULT Status ([out, retval] NETCON_STATUS * pStatus);
- [propget, id(5), helpstring("property MediaType")]
- HRESULT MediaType ([out, retval] NETCON_MEDIATYPE * pMediaType);
- [propget, id(6), helpstring("property Characteristics")]
- HRESULT Characteristics ([out, retval] DWORD * pdwFlags);
- };
- //+---------------------------------------------------------------------------
- // INetSharingConfiguration - the connection level object that
- //
- // It provides methods to:
- // - Enable/Disable Internet Connection Sharing
- // - Enable/Disable Internet Connection Protection
- // - Enumerate Port Mappings
- // - Add Port Mappings
- //
- [
- object,
- uuid(C08956B6-1CD3-11D1-B1C5-00805FC1270E),
- oleautomation, dual,
- pointer_default(unique)
- ]
- interface INetSharingConfiguration : IDispatch
- {
- typedef enum tagSHARINGCONNECTIONTYPE
- {
- ICSSHARINGTYPE_PUBLIC = 0x0,
- ICSSHARINGTYPE_PRIVATE
- }
- SHARINGCONNECTIONTYPE, *LPSHARINGCONNECTIONTYPE;
- typedef enum tagSHARINGCONNECTION_ENUM_FLAGS
- {
- ICSSC_DEFAULT = 0x0,
- ICSSC_ENABLED
- }
- SHARINGCONNECTION_ENUM_FLAGS;
- typedef enum tagICS_TARGETTYPE
- {
- ICSTT_NAME = 0x0,
- ICSTT_IPADDRESS
- }
- ICS_TARGETTYPE;
- [propget, id(1), helpstring("property SharingEnabled")]
- HRESULT SharingEnabled([out, retval] VARIANT_BOOL* pbEnabled);
- [propget, id(2), helpstring("property SharingConnectionType")]
- HRESULT SharingConnectionType([out, retval] SHARINGCONNECTIONTYPE* pType);
- [id(3), helpstring("method DisableSharing")]
- HRESULT DisableSharing();
- [id(4), helpstring("method EnableSharing")]
- HRESULT EnableSharing([in] SHARINGCONNECTIONTYPE Type );
- [propget, id(5), helpstring("property InternetFirewallEnabled")]
- HRESULT InternetFirewallEnabled([out, retval] VARIANT_BOOL *pbEnabled );
- [id(6), helpstring("method DisableInternetFirewall")]
- HRESULT DisableInternetFirewall();
- [id(7), helpstring("method EnableInternetFirewall")]
- HRESULT EnableInternetFirewall();
- // Return an IEnumNetSharingPortMapping interface used to enumerate all of
- // the contained INetSharingPortMapping objects.
- //
- [propget, id(8), helpstring("EnumPortMappings")]
- HRESULT EnumPortMappings(
- [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
- [out, retval] INetSharingPortMappingCollection** ppColl);
- [id(9), helpstring("method AddPortMapping")]
- HRESULT AddPortMapping(
- [in] BSTR bstrName,
- [in] UCHAR ucIPProtocol,
- [in] USHORT usExternalPort,
- [in] USHORT usInternalPort,
- [in] DWORD dwOptions,
- [in] BSTR bstrTargetNameOrIPAddress,
- [in] ICS_TARGETTYPE eTargetType,
- [out, retval] INetSharingPortMapping** ppMapping );
- [id(10), helpstring("method RemovePortMapping")]
- HRESULT RemovePortMapping([in] INetSharingPortMapping* pMapping );
- };
- // ICollection interfaces
- [
- object,
- uuid(33C4643C-7811-46FA-A89A-768597BD7223),
- oleautomation, dual,
- helpstring("INetSharingEveryConnectionCollection Interface"),
- pointer_default(unique)
- ]
- interface INetSharingEveryConnectionCollection : IDispatch
- {
- [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum: gets item enumerator")] HRESULT _NewEnum([out, retval] IUnknown* *pVal);
- [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
- };
- [
- object,
- uuid(7D7A6355-F372-4971-A149-BFC927BE762A),
- oleautomation, dual,
- helpstring("INetSharingPublicConnectionCollection Interface"),
- pointer_default(unique)
- ]
- interface INetSharingPublicConnectionCollection : IDispatch
- {
- [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum: gets item enumerator")] HRESULT _NewEnum([out, retval] IUnknown* *pVal);
- [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
- };
- [
- object,
- uuid(38AE69E0-4409-402A-A2CB-E965C727F840),
- oleautomation, dual,
- helpstring("INetSharingPrivateConnectionCollection Interface"),
- pointer_default(unique)
- ]
- interface INetSharingPrivateConnectionCollection : IDispatch
- {
- [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum: gets item enumerator")] HRESULT _NewEnum([out, retval] IUnknown* *pVal);
- [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
- };
- //+---------------------------------------------------------------------------
- // INetSharingManager - the top level object that
- //
- // It provides methods to:
- // - Determine whether Internet Connection Sharing is installed
- // - Enumerate Public Connections
- // - Enumerate Private Connections
- //
- [
- object,
- uuid(C08956B7-1CD3-11D1-B1C5-00805FC1270E),
- oleautomation, dual,
- pointer_default(unique)
- ]
- interface INetSharingManager : IDispatch
- {
- [propget, id(1), helpstring("property SharingInstalled")]
- HRESULT SharingInstalled([out, retval] VARIANT_BOOL *pbInstalled );
- // Return an IEnumNetSharingPublicConnection interface used to enumerate all of
- // the contained INetConnections configured as a public adapter
- //
- [propget, id(2), helpstring("EnumPublicConnections")]
- HRESULT EnumPublicConnections(
- [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
- [out, retval] INetSharingPublicConnectionCollection ** ppColl);
- // Return an IEnumNetSharingPrivateConnection interface used to enumerate all of
- // the contained INetConnections configured as a private adapter
- //
- [propget, id(3), helpstring("EnumPrivateConnections")]
- HRESULT EnumPrivateConnections(
- [in] SHARINGCONNECTION_ENUM_FLAGS Flags,
- [out, retval] INetSharingPrivateConnectionCollection ** ppColl);
- [propget, id(6), helpstring("INetSharingConfigurationForINetConnection")]
- HRESULT INetSharingConfigurationForINetConnection(
- [in] INetConnection *pNetConnection,
- [out, retval] INetSharingConfiguration **ppNetSharingConfiguration
- );
- // Return an IEnumNetSharingEveryConnection interface used to enumerate all of
- // the contained INetConnections configured as a public adapter
- //
- [propget, id(7), helpstring("EnumEveryConnection")]
- HRESULT EnumEveryConnection([out, retval] INetSharingEveryConnectionCollection ** ppColl);
- // get properties interface for any INetConnection
- [propget, id(8), helpstring("NetConnectionProps")]
- HRESULT NetConnectionProps(
- [in] INetConnection *pNetConnection,
- [out, retval] INetConnectionProps ** ppProps);
- };
- //
- // AlgSetup.idl : IDL source for AlgSetup.dll
- //
- // To allow third party to Install/Remove ALG PlugIns
- //
- const int ALG_SETUP_PORTS_LIST_BYTE_SIZE=2048;
- [
- object,
- uuid(A779AF1A-009A-4C44-B9F0-8F0F4CF2AE49),
- dual,
- helpstring("IAlgSetup Interface"),
- pointer_default(unique)
- ]
- interface IAlgSetup : IDispatch
- {
- [id(1), helpstring("method Add")]
- HRESULT Add(
- [in] BSTR pszProgID,
- [in] BSTR pszPublisher,
- [in] BSTR pszProduct,
- [in] BSTR pszVersion,
- [in] short nProtocol,
- [in] BSTR pszPorts
- );
- [id(2), helpstring("method Remove")]
- HRESULT Remove(
- [in] BSTR pszProgID
- );
-
- };
- [
- uuid(43E734CA-043D-4A70-9A2C-A8F254063D91),
- version(1.0),
- helpstring("NetCon 1.0 Type Library")
- ]
- library NETCONLib
- {
- importlib("stdole2.tlb");
- [
- uuid(5C63C1AD-3956-4FF8-8486-40034758315B),
- helpstring("NetSharingManager Class")
- ]
- coclass NetSharingManager
- {
- [default] interface INetSharingManager;
- };
-
-
-
-
- [
- uuid(27D0BCCC-344D-4287-AF37-0C72C161C14C),
- helpstring("AlgSetup Class")
- ]
- coclass AlgSetup
- {
- [default] interface IAlgSetup;
- };
-
-
- };