//+--------------------------------------------------------------------------- // // 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); }