Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

154 lines
4.1 KiB

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992-1999.
//
// File: netshell.idl
//
//----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright (C) Microsoft Corporation, 1992-1999.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
cpp_quote("#if ( _MSC_VER >= 800 )")
cpp_quote("#pragma warning(disable:4201)")
cpp_quote("#endif")
#ifndef DO_NO_IMPORTS
import "shlobj.idl";
import "oleidl.idl";
import "docobj.idl";
import "netcfgx.idl";
import "oaidl.idl";
#endif
// We want to be a proxy/stub DLL for all of the interfaces in
// the following IDL files. Therefore we #include them instead of importing
// them.
//
#include "netcon.idl"
#define DO_NO_IMPORTS
#include "netcfgp.idl"
#include "netconp.idl"
// Reserved GUIDS for our use
//
// 1355C840-9F50-11D1-A927-00805FC1270E <available>
// 1355C841-9F50-11D1-A927-00805FC1270E IID_INetConnectionStatisticsNotifySink
// 1355C842-9F50-11D1-A927-00805FC1270E IID_INetStatisticsEngine
// 1355C843-9F50-11D1-A927-00805FC1270E
// 1355C844-9F50-11D1-A927-00805FC1270E
// 1355C845-9F50-11D1-A927-00805FC1270E
// ...
// 1355C8FD-9F50-11D1-A927-00805FC1270E
// 1355C8FE-9F50-11D1-A927-00805FC1270E
// 1355C8FF-9F50-11D1-A927-00805FC1270E
interface INetConnectionStatisticsNotifySink;
interface INetStatisticsEngine;
//+---------------------------------------------------------------------------
// Connection Statistics Notify Sink
//
[
local,
object,
uuid(1355C841-9F50-11D1-A927-00805FC1270E),
pointer_default(unique)
]
interface INetConnectionStatisticsNotifySink : IUnknown
{
typedef enum tagSTATMON_DATACHANGEDFLAGS
{
SMDCF_NULL = 0x00000000,
SMDCF_TRANSMITTING = 0x40000000,
SMDCF_RECEIVING = 0x80000000,
} STATMON_DATACHANGEDFLAGS;
HRESULT OnStatisticsChanged(
[in] DWORD dwChangeFlags);
};
//+---------------------------------------------------------------------------
// Network Statistics Engine
//
[
local,
object,
uuid(1355C842-9F50-11D1-A927-00805FC1270E),
pointer_default(unique)
]
interface INetStatisticsEngine : IUnknown
{
typedef enum _DHCP_ADDRESS_TYPE
{
UNKNOWN_ADDR,
NORMAL_ADDR,
AUTONET_ADDR,
ALTERNATE_ADDR,
STATIC_ADDR
} DHCP_ADDRESS_TYPE;
typedef enum _INFRASTRUCTURE_MODE
{
IM_NOT_SUPPORTED,
IM_NDIS802_11IBSS,
IM_NDIS802_11INFRASTRUCTURE,
IM_NDIS802_11AUTOUNKNOWN,
} INFRASTRUCTURE_MODE;
typedef struct tagSTATMON_ENGINEDATA
{
UINT SMED_CONNECTIONSTATUS;
UINT SMED_DURATION;
UINT SMED_SPEEDTRANSMITTING;
UINT SMED_SPEEDRECEIVING;
UINT64 SMED_BYTESTRANSMITTING;
UINT64 SMED_BYTESRECEIVING;
UINT SMED_COMPRESSIONTRANSMITTING;
UINT SMED_COMPRESSIONRECEIVING;
UINT SMED_ERRORSTRANSMITTING;
UINT SMED_ERRORSRECEIVING;
UINT64 SMED_PACKETSTRANSMITTING;
UINT64 SMED_PACKETSRECEIVING;
UINT64 SMED_SALOCAL_BYTESTRANSMITTING;
UINT64 SMED_SALOCAL_BYTESRECEIVING;
UINT64 SMED_SALOCAL_PACKETSTRANSMITTING;
UINT64 SMED_SALOCAL_PACKETSRECEIVING;
DHCP_ADDRESS_TYPE SMED_DHCP_ADDRESS_TYPE;
INFRASTRUCTURE_MODE SMED_INFRASTRUCTURE_MODE;
UINT SMED_802_11_ENCRYPTION_ENABLED;
INT SMED_802_11_SIGNAL_STRENGTH;
WCHAR SMED_802_11_SSID[33];
} STATMON_ENGINEDATA;
HRESULT StartStatistics();
HRESULT StopStatistics();
HRESULT ShowStatusMonitor();
HRESULT CloseStatusMonitor();
HRESULT UpdateStatistics (
[out] BOOL* pfNoLongerConnected);
HRESULT UpdateTitle (
[in] LPCWSTR pszwNewName);
HRESULT UpdateRasLinkList ();
HRESULT GetGuidId(
[out] GUID* pguidId);
HRESULT GetStatistics (
[out] STATMON_ENGINEDATA** ppseAllData);
};