IPGlobalProperties.GetIPv4GlobalStatistics Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides Internet Protocol version 4 (IPv4) statistical data for the local computer.
public:
abstract System::Net::NetworkInformation::IPGlobalStatistics ^ GetIPv4GlobalStatistics();
public abstract System.Net.NetworkInformation.IPGlobalStatistics GetIPv4GlobalStatistics ();
abstract member GetIPv4GlobalStatistics : unit -> System.Net.NetworkInformation.IPGlobalStatistics
Public MustOverride Function GetIPv4GlobalStatistics () As IPGlobalStatistics
Returns
An IPGlobalStatistics object that provides IPv4 traffic statistics for the local computer.
Exceptions
The call to the Win32 function GetIpStatistics
failed.
Examples
The following code example displays IP statistics for the local computer.
void ShowIPStatistics( NetworkInterfaceComponent version )
{
IPGlobalProperties ^ properties = IPGlobalProperties::GetIPGlobalProperties();
IPGlobalStatistics ^ ipstat = nullptr;
switch ( version )
{
case NetworkInterfaceComponent::IPv4:
ipstat = properties->GetIPv4GlobalStatistics();
Console::WriteLine( "{0}IPv4 Statistics ", Environment::NewLine );
break;
case NetworkInterfaceComponent::IPv6:
ipstat = properties->GetIPv4GlobalStatistics();
Console::WriteLine( "{0}IPv6 Statistics ", Environment::NewLine );
break;
default:
throw gcnew ArgumentException( "version" );
break;
}
Console::WriteLine( " Forwarding enabled ...................... : {0}",
ipstat->ForwardingEnabled );
Console::WriteLine( " Interfaces .............................. : {0}",
ipstat->NumberOfInterfaces );
Console::WriteLine( " IP addresses ............................ : {0}",
ipstat->NumberOfIPAddresses );
Console::WriteLine( " Routes .................................. : {0}",
ipstat->NumberOfRoutes );
Console::WriteLine( " Default TTL ............................. : {0}",
ipstat->DefaultTtl );
Console::WriteLine( "" );
Console::WriteLine( " Inbound Packet Data:" );
Console::WriteLine( " Received ............................ : {0}",
ipstat->ReceivedPackets );
Console::WriteLine( " Forwarded ........................... : {0}",
ipstat->ReceivedPacketsForwarded );
Console::WriteLine( " Delivered ........................... : {0}",
ipstat->ReceivedPacketsDelivered );
Console::WriteLine( " Discarded ........................... : {0}",
ipstat->ReceivedPacketsDiscarded );
Console::WriteLine( " Header Errors ....................... : {0}",
ipstat->ReceivedPacketsWithHeadersErrors );
Console::WriteLine( " Address Errors ...................... : {0}",
ipstat->ReceivedPacketsWithAddressErrors );
Console::WriteLine( " Unknown Protocol Errors ............. : {0}",
ipstat->ReceivedPacketsWithUnknownProtocol );
Console::WriteLine( "" );
Console::WriteLine( " Outbound Packet Data:" );
Console::WriteLine( " Requested ........................... : {0}",
ipstat->OutputPacketRequests );
Console::WriteLine( " Discarded ........................... : {0}",
ipstat->OutputPacketsDiscarded );
Console::WriteLine( " No Routing Discards ................. : {0}",
ipstat->OutputPacketsWithNoRoute );
Console::WriteLine( " Routing Entry Discards .............. : {0}",
ipstat->OutputPacketRoutingDiscards );
Console::WriteLine( "" );
Console::WriteLine( " Reassembly Data:" );
Console::WriteLine( " Reassembly Timeout .................. : {0}",
ipstat->PacketReassemblyTimeout );
Console::WriteLine( " Reassemblies Required ............... : {0}",
ipstat->PacketReassembliesRequired );
Console::WriteLine( " Packets Reassembled ................. : {0}",
ipstat->PacketsReassembled );
Console::WriteLine( " Packets Fragmented .................. : {0}",
ipstat->PacketsFragmented );
Console::WriteLine( " Fragment Failures ................... : {0}",
ipstat->PacketFragmentFailures );
Console::WriteLine( "" );
}
public static void ShowIPStatistics(NetworkInterfaceComponent version)
{
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
IPGlobalStatistics ipstat = null;
switch (version)
{
case NetworkInterfaceComponent.IPv4:
ipstat = properties.GetIPv4GlobalStatistics();
Console.WriteLine("{0}IPv4 Statistics ",Environment.NewLine);
break;
case NetworkInterfaceComponent.IPv6:
ipstat = properties.GetIPv6GlobalStatistics();
Console.WriteLine("{0}IPv6 Statistics ",Environment.NewLine);
break;
default:
throw new ArgumentException("version");
// break;
}
Console.WriteLine(" Forwarding enabled ...................... : {0}",
ipstat.ForwardingEnabled);
Console.WriteLine(" Interfaces .............................. : {0}",
ipstat.NumberOfInterfaces);
Console.WriteLine(" IP addresses ............................ : {0}",
ipstat.NumberOfIPAddresses);
Console.WriteLine(" Routes .................................. : {0}",
ipstat.NumberOfRoutes);
Console.WriteLine(" Default TTL ............................. : {0}",
ipstat.DefaultTtl);
Console.WriteLine("");
Console.WriteLine(" Inbound Packet Data:");
Console.WriteLine(" Received ............................ : {0}",
ipstat.ReceivedPackets);
Console.WriteLine(" Forwarded ........................... : {0}",
ipstat.ReceivedPacketsForwarded);
Console.WriteLine(" Delivered ........................... : {0}",
ipstat.ReceivedPacketsDelivered);
Console.WriteLine(" Discarded ........................... : {0}",
ipstat.ReceivedPacketsDiscarded);
Console.WriteLine(" Header Errors ....................... : {0}",
ipstat.ReceivedPacketsWithHeadersErrors);
Console.WriteLine(" Address Errors ...................... : {0}",
ipstat.ReceivedPacketsWithAddressErrors);
Console.WriteLine(" Unknown Protocol Errors ............. : {0}",
ipstat.ReceivedPacketsWithUnknownProtocol);
Console.WriteLine("");
Console.WriteLine(" Outbound Packet Data:");
Console.WriteLine(" Requested ........................... : {0}",
ipstat.OutputPacketRequests);
Console.WriteLine(" Discarded ........................... : {0}",
ipstat.OutputPacketsDiscarded);
Console.WriteLine(" No Routing Discards ................. : {0}",
ipstat.OutputPacketsWithNoRoute);
Console.WriteLine(" Routing Entry Discards .............. : {0}",
ipstat.OutputPacketRoutingDiscards);
Console.WriteLine("");
Console.WriteLine(" Reassembly Data:");
Console.WriteLine(" Reassembly Timeout .................. : {0}",
ipstat.PacketReassemblyTimeout);
Console.WriteLine(" Reassemblies Required ............... : {0}",
ipstat.PacketReassembliesRequired);
Console.WriteLine(" Packets Reassembled ................. : {0}",
ipstat.PacketsReassembled);
Console.WriteLine(" Packets Fragmented .................. : {0}",
ipstat.PacketsFragmented);
Console.WriteLine(" Fragment Failures ................... : {0}",
ipstat.PacketFragmentFailures);
Console.WriteLine("");
}
Remarks
IPv4 is a network layer protocol that is responsible for routing data packets from its source computer to its destination.
For details on the IP traffic statistics available to applications, see the IPGlobalStatistics class documentation. Note that the object returned by this method reflects the statistics as of the time the IPGlobalStatistics object is created. This information is not updated dynamically.