windows-nt/Source/XPSP1/NT/net/homenet/beacon/idl/internetgatewaydevice.idl
2020-09-26 16:20:57 +08:00

355 lines
16 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000.
//
// File: S D E V . I D L
//
// Contents: IDL file for sample device
//
// Notes:
//
// Author: mbend 26 Sep 2000
//
//----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 1992-2000.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if ( _MSC_VER >= 800 )")
cpp_quote("#pragma warning(disable:4201)")
cpp_quote("#endif")
#ifndef DO_NO_IMPORTS
import "ocidl.idl";
#endif
typedef [v1_enum] enum IOSINFO_DISPIDS
{
IOSINFO_DISPID_MAGICON = 1,
IOSINFO_DISPID_OSMAJORVERSION,
IOSINFO_DISPID_OSMINORVERSION,
IOSINFO_DISPID_OSBUILDNUMBER,
IOSINFO_DISPID_OSMACHINENAME
} IOSINFO_DISPIDS;
[
uuid(34e5bd25-df15-405b-9d92-ab74ad0dc121),
oleautomation,
pointer_default(unique)
]
interface IOSInfoService : IUnknown
{
[propget, id(IOSINFO_DISPID_OSMAJORVERSION), helpstring("OS Major Version")]
HRESULT OSMajorVersion([out, retval] LONG *pOSMajorVersion);
[propget, id(IOSINFO_DISPID_OSMINORVERSION), helpstring("OS Minor Version")]
HRESULT OSMinorVersion([out, retval] LONG *pOSMinorVersion);
[propget, id(IOSINFO_DISPID_OSBUILDNUMBER), helpstring("OS Build Number")]
HRESULT OSBuildNumber([out, retval] LONG *pOSBuildNumber);
[propget, id(IOSINFO_DISPID_OSMACHINENAME), helpstring("OS Machine Name")]
HRESULT OSMachineName([out, retval] BSTR *pOSMachineName);
[id(IOSINFO_DISPID_MAGICON), helpstring("Magic On")]
HRESULT MagicOn();
};
typedef [v1_enum] enum ICOMMONCONFIG_DISPIDS
{
ICOMMONCONFIG_DISPID_WANACCESSTYPE,
ICOMMONCONFIG_DISPID_LAYER1UPSTREAMMAXBITRATE,
ICOMMONCONFIG_DISPID_LAYER1DOWNSTREAMMAXBITRATE,
ICOMMONCONFIG_DISPID_PHYSICALLINKSTATUS,
ICOMMONCONFIG_DISPID_SETENABLEDFORINTERNET,
ICOMMONCONFIG_DISPID_ENABLEDFORINTERNET,
ICOMMONCONFIG_DISPID_TOTALBYTESSENT,
ICOMMONCONFIG_DISPID_TOTALBYTESRECEIVED,
ICOMMONCONFIG_DISPID_TOTALPACKETSSSENT,
ICOMMONCONFIG_DISPID_TOTALPACKETSRECEIVED,
ICOMMONCONFIG_DISPID_WANACCESSPROVIDER,
ICOMMONCONFIG_DISPID_MAXIMUMACTIVECONNECTIONS,
ICOMMONCONFIG_DISPID_XPERSONALFIREWALLENABLED,
ICOMMONCONFIG_DISPID_XUPTIME,
ICOMMONCONFIG_DISPID_GETCOMMONLINKPROPERTIES,
ICOMMONCONFIG_DISPID_XGETICSSTATISTICS,
ICOMMONCONFIG_DISPID_GETTOTALBYTESSENT,
ICOMMONCONFIG_DISPID_GETTOTALBYTESRECEIVED,
ICOMMONCONFIG_DISPID_GETTOTALPACKETSSENT,
ICOMMONCONFIG_DISPID_GETTOTALPACKETSRECEIVED,
} ICOMMONCONFIG_DISPIDS;
[
uuid(eb453baa-08f1-4235-abf0-521c7aa0eda1),
oleautomation,
pointer_default(unique)
]
interface ICommonInterfaceConfigService : IUnknown
{
[propget, id(ICOMMONCONFIG_DISPID_WANACCESSTYPE), helpstring("WANAccessType")]
HRESULT WANAccessType([out, retval] BSTR *pWANAccessType);
[propget, id(ICOMMONCONFIG_DISPID_LAYER1UPSTREAMMAXBITRATE), helpstring("Layer1UpstreamMaxBitRate")]
HRESULT Layer1UpstreamMaxBitRate([out, retval] ULONG *pLayer1UpstreamMaxBitRate);
[propget, id(ICOMMONCONFIG_DISPID_LAYER1DOWNSTREAMMAXBITRATE), helpstring("Layer1DownstreamMaxBitRate")]
HRESULT Layer1DownstreamMaxBitRate([out, retval] ULONG *pLayer1DownstreamMaxBitRate);
[propget, id(ICOMMONCONFIG_DISPID_PHYSICALLINKSTATUS), helpstring("PhysicalLinkStatus")]
HRESULT PhysicalLinkStatus([out, retval] BSTR *pPhysicalLinkStatus);
[propget, id(ICOMMONCONFIG_DISPID_TOTALBYTESSENT), helpstring("TotalBytesSent")]
HRESULT TotalBytesSent([out, retval] ULONG *pTotalBytesSent);
[propget, id(ICOMMONCONFIG_DISPID_TOTALBYTESRECEIVED), helpstring("TotalBytesReceived")]
HRESULT TotalBytesReceived([out, retval] ULONG *pTotalBytesReceived);
[propget, id(ICOMMONCONFIG_DISPID_TOTALPACKETSSSENT), helpstring("TotalPacketsSent")]
HRESULT TotalPacketsSent([out, retval] ULONG *pTotalPacketsSent);
[propget, id(ICOMMONCONFIG_DISPID_TOTALPACKETSRECEIVED), helpstring("TotalPacketsReceived")]
HRESULT TotalPacketsReceived([out, retval] ULONG *pTotalPacketsReceived);
[propget, id(ICOMMONCONFIG_DISPID_WANACCESSPROVIDER), helpstring("WANAccessProvider")]
HRESULT WANAccessProvider([out, retval] BSTR *pWANAccessProvider);
[propget, id(ICOMMONCONFIG_DISPID_MAXIMUMACTIVECONNECTIONS), helpstring("MaximumActiveConnections")]
HRESULT MaximumActiveConnections([out, retval] USHORT *pMaximumActiveConnections);
[propget, id(ICOMMONCONFIG_DISPID_XPERSONALFIREWALLENABLED), helpstring("PersonalFirewallEnabled")]
HRESULT X_PersonalFirewallEnabled([out, retval] VARIANT_BOOL* pPersonalFirewallEnabled);
[propget, id(ICOMMONCONFIG_DISPID_XUPTIME), helpstring("X_Uptime")]
HRESULT X_Uptime([out, retval] ULONG* pUptime);
[id(ICOMMONCONFIG_DISPID_GETCOMMONLINKPROPERTIES), helpstring("GetCommonLinkProperties")]
HRESULT GetCommonLinkProperties([in, out] BSTR* pWANAccessType, [in, out] ULONG* pLayer1UpstreamMaxBitRate, [in, out] ULONG *pLayer1DownstreamMaxBitRate, [in, out] BSTR *pPhysicalLinkStatus);
[id(ICOMMONCONFIG_DISPID_GETTOTALBYTESSENT), helpstring("GetTotalBytesSent")]
HRESULT GetTotalBytesSent([in, out] ULONG *pTotalBytesSent);
[id(ICOMMONCONFIG_DISPID_GETTOTALBYTESRECEIVED), helpstring("GetTotalBytesReceived")]
HRESULT GetTotalBytesReceived([in, out] ULONG *pTotalBytesReceived);
[id(ICOMMONCONFIG_DISPID_GETTOTALPACKETSSENT), helpstring("GetTotalPacketsSent")]
HRESULT GetTotalPacketsSent([in, out] ULONG *pTotalPacketsSent);
[id(ICOMMONCONFIG_DISPID_GETTOTALPACKETSRECEIVED), helpstring("GetTotalPacketsReceived")]
HRESULT GetTotalPacketsReceived([in, out] ULONG *pTotalPacketsReceived);
[id(ICOMMONCONFIG_DISPID_XGETICSSTATISTICS), helpstring("X_GetICSStatistics")]
HRESULT X_GetICSStatistics([in, out] ULONG *pTotalBytesSent, [in, out] ULONG *pTotalBytesReceived, [in, out] ULONG *pTotalPacketsSent, [in, out] ULONG *pTotalPacketsReceived, [in, out] ULONG *pSpeed, [in, out] ULONG *pUptime);
};
typedef [v1_enum] enum IWANPOTSLINKCONFIG_DISPIDS
{
IWANPOTSLINKCONFIG_DISPIDS_MAGICON = 1,
IWANPOTSLINKCONFIG_DISPID_ISPPHONENUMBER,
IWANPOTSLINKCONFIG_DISPID_ISPINFO,
IWANPOTSLINKCONFIG_DISPID_LINKTYPE,
IWANPOTSLINKCONFIG_DISPID_NUMBEROFRETRIES,
IWANPOTSLINKCONFIG_DISPID_DELAYBETWEENRETRIES,
IWANPOTSLINKCONFIG_DISPID_GETISPINFO,
IWANPOTSLINKCONFIG_DISPID_GETCALLRETRYINFO,
} IWANPOTSLINKCONFIG_DISPIDS;
[
uuid(ea3788a7-84b8-4831-a4f9-9e842d0d44ba),
oleautomation,
pointer_default(unique)
]
interface IWANPOTSLinkConfigService : IUnknown
{
[propget, id(IWANPOTSLINKCONFIG_DISPID_ISPPHONENUMBER), helpstring("ISPPhoneNumber")]
HRESULT ISPPhoneNumber([out, retval] BSTR *pISPPhoneNumber);
[propget, id(IWANPOTSLINKCONFIG_DISPID_ISPINFO), helpstring("ISPInfo")]
HRESULT ISPInfo([out, retval] BSTR *pISPInfo);
[propget, id(IWANPOTSLINKCONFIG_DISPID_LINKTYPE), helpstring("LinkType")]
HRESULT LinkType([out, retval] BSTR *pLinkType);
[propget, id(IWANPOTSLINKCONFIG_DISPID_NUMBEROFRETRIES), helpstring("NumberOfRetries")]
HRESULT NumberOfRetries([out, retval] ULONG *pNumberOfRetries);
[propget, id(IWANPOTSLINKCONFIG_DISPID_DELAYBETWEENRETRIES), helpstring("DelayBetweenRetries")]
HRESULT DelayBetweenRetries([out, retval] ULONG *pDelayBetweenRetries);
[id(IWANPOTSLINKCONFIG_DISPID_GETISPINFO), helpstring("GetISPInfo")]
HRESULT GetISPInfo([in, out] BSTR* pISPPhoneNumber, [in, out] BSTR *pISPInfo, [in, out] BSTR *pLinkType);
[id(IWANPOTSLINKCONFIG_DISPID_GETCALLRETRYINFO), helpstring("GetCallRetryInfo")]
HRESULT GetCallRetryInfo([in, out] ULONG* pNumberOfRetries, [in, out] ULONG *pDelayBetweenRetries);
}
typedef [v1_enum] enum IWANIPCONNECTION_DISPIDS
{
IWANIPCONNECTION_DISPIDS_MAGICON = 1,
IWANIPCONNECTION_DISPID_CONNECTIONTYPE,
IWANIPCONNECTION_DISPID_POSSIBLECONNECTIONTYPES,
IWANIPCONNECTION_DISPID_CONNECTIONSTATUS,
IWANIPCONNECTION_DISPID_UPTIME,
IWANIPCONNECTION_DISPID_UPSTREAMMAXBITRATE,
IWANIPCONNECTION_DISPID_DOWNSTREAMMAXBITRATE,
IWANIPCONNECTION_DISPID_LASTCONNECTIONERROR,
IWANIPCONNECTION_DISPID_RSIPAVAILABLE,
IWANIPCONNECTION_DISPID_NATENABLED,
IWANIPCONNECTION_DISPID_NAME,
IWANIPCONNECTION_DISPID_EXTERNALIPADDRESS,
IWANIPCONNECTION_DISPID_REMOTEHOST,
IWANIPCONNECTION_DISPID_EXTERNALPORT,
IWANIPCONNECTION_DISPID_INTERNALPORT,
IWANIPCONNECTION_DISPID_PORTMAPPINGPROTOCOL,
IWANIPCONNECTION_DISPID_INTERNALCLIENT,
IWANIPCONNECTION_DISPID_PORTMAPPINGDESCRIPTION,
IWANIPCONNECTION_DISPID_PORTMAPPINGENABLED,
IWANIPCONNECTION_DISPID_PORTMAPPINGLEASEDURATION,
IWANIPCONNECTION_DISPID_XPORTMAPPINGINDEX,
IWANIPCONNECTION_DISPID_PORTMAPPINGNUMBEROFENTRIES,
IWANIPCONNECTION_DISPID_SETCONNECTIONTYPE,
IWANIPCONNECTION_DISPID_GETCONNECTIONTYPE,
IWANIPCONNECTION_DISPID_REQUESTCONNECTION,
IWANIPCONNECTION_DISPID_FORCETERMINATION,
IWANIPCONNECTION_DISPID_GETSTATUSINFO,
IWANIPCONNECTION_DISPID_GETNATRSIPSTATUS,
IWANIPCONNECTION_DISPID_GETLINKLAYERMAXBITRATES,
IWANIPCONNECTION_DISPID_GETSPECIFICPORTMAPPINGENTRY,
IWANIPCONNECTION_DISPID_GETGENERICPORTMAPPINGENTRY,
IWANIPCONNECTION_DISPID_ADDPORTMAPPING,
IWANIPCONNECTION_DISPID_DELETEPORTMAPPING,
IWANIPCONNECTION_DISPID_GETEXTERNALIPADDRESS,
} IWANIPCONNECTION_DISPIDS;
[
uuid(b99a547a-9574-46da-8774-3ecaf70bc12f),
oleautomation,
pointer_default(unique)
]
interface IWANIPConnectionService : IUnknown
{
[propget, id(IWANIPCONNECTION_DISPID_CONNECTIONTYPE), helpstring("ConnectionType")]
HRESULT ConnectionType([out, retval] BSTR *pConnectionType);
[propget, id(IWANIPCONNECTION_DISPID_POSSIBLECONNECTIONTYPES), helpstring("PossibleConnectionTypes")]
HRESULT PossibleConnectionTypes([out, retval] BSTR *pPossibleConnectionTypes);
[propget, id(IWANIPCONNECTION_DISPID_CONNECTIONSTATUS), helpstring("ConnectionStatus")]
HRESULT ConnectionStatus([out, retval] BSTR *pConnectionStatus);
[propget, id(IWANIPCONNECTION_DISPID_UPTIME), helpstring("Uptime")]
HRESULT Uptime([out, retval] ULONG *pUptime);
[propget, id(IWANIPCONNECTION_DISPID_UPSTREAMMAXBITRATE), helpstring("UpstreamMaxBitRate")]
HRESULT UpstreamMaxBitRate([out, retval] ULONG *pUpstreamMaxBitRate);
[propget, id(IWANIPCONNECTION_DISPID_DOWNSTREAMMAXBITRATE), helpstring("DownstreamMaxBitRate")]
HRESULT DownstreamMaxBitRate([out, retval] ULONG *pDownstreamMaxBitRate);
[propget, id(IWANIPCONNECTION_DISPID_LASTCONNECTIONERROR), helpstring("LastConnectionError")]
HRESULT LastConnectionError([out, retval] BSTR *pLastConnectionError);
[propget, id(IWANIPCONNECTION_DISPID_RSIPAVAILABLE), helpstring("RSIPAvailable")]
HRESULT RSIPAvailable([out, retval] VARIANT_BOOL *pRSIPAvailable);
[propget, id(IWANIPCONNECTION_DISPID_NATENABLED), helpstring("NATEnabled")]
HRESULT NATEnabled([out, retval] VARIANT_BOOL *pNATEnabled);
[propget, id(IWANIPCONNECTION_DISPID_NAME), helpstring("Name")]
HRESULT X_Name([out, retval] BSTR *pName);
[propget, id(IWANIPCONNECTION_DISPID_EXTERNALIPADDRESS), helpstring("ExternalIPAddress")]
HRESULT ExternalIPAddress([out, retval] BSTR *pExternalIPAddress);
[propget, id(IWANIPCONNECTION_DISPID_REMOTEHOST), helpstring("RemoteHost")]
HRESULT RemoteHost([out, retval] BSTR *pRemoteHost);
[propget, id(IWANIPCONNECTION_DISPID_EXTERNALPORT), helpstring("ExternalPort")]
HRESULT ExternalPort([out, retval] USHORT *pExternalPort);
[propget, id(IWANIPCONNECTION_DISPID_INTERNALPORT), helpstring("InternalPort")]
HRESULT InternalPort([out, retval] USHORT *pInternalPort);
[propget, id(IWANIPCONNECTION_DISPID_PORTMAPPINGPROTOCOL), helpstring("PortMappingProtocol")]
HRESULT PortMappingProtocol([out, retval] BSTR *pProtocol);
[propget, id(IWANIPCONNECTION_DISPID_INTERNALCLIENT), helpstring("InternalClient")]
HRESULT InternalClient([out, retval] BSTR *pInternalClient);
[propget, id(IWANIPCONNECTION_DISPID_PORTMAPPINGDESCRIPTION), helpstring("PortMappingDescription")]
HRESULT PortMappingDescription([out, retval] BSTR *pDescription);
[propget, id(IWANIPCONNECTION_DISPID_PORTMAPPINGENABLED), helpstring("PortMappingEnabled")]
HRESULT PortMappingEnabled([out, retval] VARIANT_BOOL *pEnabled);
[propget, id(IWANIPCONNECTION_DISPID_PORTMAPPINGLEASEDURATION), helpstring("PortMappingLeaseDuration")]
HRESULT PortMappingLeaseDuration([out, retval] ULONG *LeaseDuration);
[propget, id(IWANIPCONNECTION_DISPID_PORTMAPPINGNUMBEROFENTRIES), helpstring("PortMappingNumberOfEntries")]
HRESULT PortMappingNumberOfEntries([out, retval] USHORT *pNumberOfEntries);
[id(IWANIPCONNECTION_DISPID_SETCONNECTIONTYPE), helpstring("SetConnectionType")]
HRESULT SetConnectionType([in] BSTR NewConnectionType);
[id(IWANIPCONNECTION_DISPID_GETCONNECTIONTYPE), helpstring("GetConnectionType")]
HRESULT GetConnectionTypeInfo([in, out] BSTR* pNewConnectionType, [in, out] BSTR* pNewPossibleConnectionTypes);
[id(IWANIPCONNECTION_DISPID_REQUESTCONNECTION), helpstring("RequestConnection")]
HRESULT RequestConnection(void);
[id(IWANIPCONNECTION_DISPID_FORCETERMINATION), helpstring("ForceTermination")]
HRESULT ForceTermination(void);
[id(IWANIPCONNECTION_DISPID_GETSTATUSINFO), helpstring("GetStatusInfo")]
HRESULT GetStatusInfo([in, out] BSTR* pNewConnectionStatus, [in, out] BSTR* pNewLastConnectionError, [in, out] ULONG* pNewUptime);
[id(IWANIPCONNECTION_DISPID_GETNATRSIPSTATUS), helpstring("GetNATRSIPStatus")]
HRESULT GetNATRSIPStatus([in, out] VARIANT_BOOL* pNewRSIPAvailable, [in, out] VARIANT_BOOL* pNewNATEnabled);
[id(IWANIPCONNECTION_DISPID_GETLINKLAYERMAXBITRATES), helpstring("GetLinkLayerMaxBitRates")]
HRESULT GetLinkLayerMaxBitRates([in, out] ULONG* pNewUpstreamMaxBitRate, [in, out] ULONG* pNewDownstreamMaxBitRate);
[id(IWANIPCONNECTION_DISPID_GETGENERICPORTMAPPINGENTRY), helpstring("GetGenericPortMappingEntry")]
HRESULT GetGenericPortMappingEntry([in] USHORT uwIndex, [in, out] BSTR* pRemoteHost, [in, out] USHORT* puwExternalPort, [in, out] BSTR* pProtocol, [in, out] USHORT* puwInternalPort, [in, out] BSTR* pInternalClient, [in, out] VARIANT_BOOL* pbEnabled, [in, out] BSTR* pDescription, [in, out] ULONG* pulLeaseDuration);
[id(IWANIPCONNECTION_DISPID_GETSPECIFICPORTMAPPINGENTRY), helpstring("GetSpecificPortMappingEntry")]
HRESULT GetSpecificPortMappingEntry([in] BSTR RemoteHost, [in] USHORT uwExternalPort, [in] BSTR Protocol, [in, out] USHORT* puwInternalPort, [in, out] BSTR* pInternalClient, [in, out] VARIANT_BOOL* pbEnabled, [in, out] BSTR* pDescription, [in, out] ULONG* pulLeaseDuration);
[id(IWANIPCONNECTION_DISPID_ADDPORTMAPPING), helpstring("AddPortMapping")]
HRESULT AddPortMapping([in] BSTR RemoteHost, [in] USHORT uwExternalPort, [in] BSTR Protocol, [in] USHORT uwInternalPort, [in] BSTR InternalClient, [in] VARIANT_BOOL bEnabled, [in] BSTR Description, [in] ULONG ulLeaseDuration);
[id(IWANIPCONNECTION_DISPID_DELETEPORTMAPPING), helpstring("DeletePortMapping")]
HRESULT DeletePortMapping([in] BSTR RemoteHost, [in] USHORT uwExternalPort, [in] BSTR Protocol);
[id(IWANIPCONNECTION_DISPID_GETEXTERNALIPADDRESS), helpstring("GetExternalIPAddress")]
HRESULT GetExternalIPAddress([in, out] BSTR* pExternalIPAddress);
};
[
object,
uuid(99780ed7-3c0d-4bb7-b238-9e0228ea4ff5),
pointer_default(unique)
]
interface IStatisticsProvider : IUnknown
{
HRESULT GetStatistics([out] ULONG* pulBytesSent, [out] ULONG* pulBytesReceived, [out] ULONG* pulPacketsSent, [out] ULONG* pulPacketsReceived, [out] ULONG* pulUptime, [out] ULONG* pulSpeedbps);
}
[
object,
uuid(2c49d9a1-a48f-41e3-ac0b-7666dede5ee0),
pointer_default(unique)
]
interface INATEventsSink : IUnknown
{
HRESULT PublicIPAddressChanged(void);
HRESULT PortMappingsChanged(void);
}