NetworkInterface Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Konfigurations- und Statistikinformationen für eine Netzwerkschnittstelle bereit.
public ref class NetworkInterface abstract sealed
public ref class NetworkInterface abstract
public static class NetworkInterface
public abstract class NetworkInterface
type NetworkInterface = class
Public Class NetworkInterface
Public MustInherit Class NetworkInterface
- Vererbung
-
NetworkInterface
Beispiele
Im folgenden Codebeispiel werden Informationen zu Schnittstellen angezeigt.
void ShowNetworkInterfaces()
{
IPGlobalProperties ^ computerProperties = IPGlobalProperties::GetIPGlobalProperties();
array<NetworkInterface^>^nics = NetworkInterface::GetAllNetworkInterfaces();
Console::WriteLine( "Interface information for {0}.{1} ", computerProperties->HostName, computerProperties->DomainName );
if ( nics == nullptr || nics->Length < 1 )
{
Console::WriteLine( " No network interfaces found." );
return;
}
Console::WriteLine( " Number of interfaces .................... : {0}", nics->Length );
System::Collections::IEnumerator^ myEnum4 = nics->GetEnumerator();
while ( myEnum4->MoveNext() )
{
NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum4->Current);
IPInterfaceProperties ^ properties = adapter->GetIPProperties();
Console::WriteLine();
Console::WriteLine( adapter->Description );
Console::WriteLine( String::Empty->PadLeft( adapter->Description->Length, '=' ) );
Console::WriteLine( " Interface type .......................... : {0}",
adapter->NetworkInterfaceType );
Console::WriteLine( " Physical Address ........................ : {0}",
adapter->GetPhysicalAddress() );
Console::WriteLine( " Operational status ...................... : {0}",
adapter->OperationalStatus );
String^ versions = "";
// Create a display string for the supported IP versions.
if ( adapter->Supports( NetworkInterfaceComponent::IPv4 ) )
{
versions = "IPv4";
}
if ( adapter->Supports( NetworkInterfaceComponent::IPv6 ) )
{
if ( versions->Length > 0 )
{
versions = String::Concat( versions, " " );
}
versions = String::Concat( versions, "IPv6" );
}
Console::WriteLine( " IP version .............................. : {0}",
versions );
ShowIPAddresses( properties );
// The following information is not useful for loopback adapters.
if ( adapter->NetworkInterfaceType == NetworkInterfaceType::Loopback )
{
continue;
}
Console::WriteLine( " DNS suffix .............................. : {0}",
properties->DnsSuffix );
String^ label;
if ( adapter->Supports( NetworkInterfaceComponent::IPv4 ) )
{
IPv4InterfaceProperties ^ ipv4 = properties->GetIPv4Properties();
Console::WriteLine( " MTU...................................... : {0}",
ipv4->Mtu );
if ( ipv4->UsesWins )
{
IPAddressCollection ^ winsServers = properties->WinsServersAddresses;
if ( winsServers->Count > 0 )
{
label = " WINS Servers ............................ :";
ShowIPAddresses( label, winsServers );
}
}
}
Console::WriteLine( " DNS enabled ............................. : {0}",
properties->IsDnsEnabled );
Console::WriteLine( " Dynamically configured DNS .............. : {0}",
properties->IsDynamicDnsEnabled );
Console::WriteLine( " Receive Only ............................ : {0}",
adapter->IsReceiveOnly );
Console::WriteLine( " Multicast ............................... : {0}",
adapter->SupportsMulticast );
ShowInterfaceStatistics( adapter );
Console::WriteLine();
}
}
public static void ShowNetworkInterfaces()
{
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1} ",
computerProperties.HostName, computerProperties.DomainName);
if (nics == null || nics.Length < 1)
{
Console.WriteLine(" No network interfaces found.");
return;
}
Console.WriteLine(" Number of interfaces .................... : {0}", nics.Length);
foreach (NetworkInterface adapter in nics)
{
IPInterfaceProperties properties = adapter.GetIPProperties();
Console.WriteLine();
Console.WriteLine(adapter.Description);
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
Console.WriteLine(" Interface type .......................... : {0}", adapter.NetworkInterfaceType);
Console.WriteLine(" Physical Address ........................ : {0}",
adapter.GetPhysicalAddress().ToString());
Console.WriteLine(" Operational status ...................... : {0}",
adapter.OperationalStatus);
string versions ="";
// Create a display string for the supported IP versions.
if (adapter.Supports(NetworkInterfaceComponent.IPv4))
{
versions = "IPv4";
}
if (adapter.Supports(NetworkInterfaceComponent.IPv6))
{
if (versions.Length > 0)
{
versions += " ";
}
versions += "IPv6";
}
Console.WriteLine(" IP version .............................. : {0}", versions);
ShowIPAddresses(properties);
// The following information is not useful for loopback adapters.
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback)
{
continue;
}
Console.WriteLine(" DNS suffix .............................. : {0}",
properties.DnsSuffix);
string label;
if (adapter.Supports(NetworkInterfaceComponent.IPv4))
{
IPv4InterfaceProperties ipv4 = properties.GetIPv4Properties();
Console.WriteLine(" MTU...................................... : {0}", ipv4.Mtu);
if (ipv4.UsesWins)
{
IPAddressCollection winsServers = properties.WinsServersAddresses;
if (winsServers.Count > 0)
{
label = " WINS Servers ............................ :";
ShowIPAddresses(label, winsServers);
}
}
}
Console.WriteLine(" DNS enabled ............................. : {0}",
properties.IsDnsEnabled);
Console.WriteLine(" Dynamically configured DNS .............. : {0}",
properties.IsDynamicDnsEnabled);
Console.WriteLine(" Receive Only ............................ : {0}",
adapter.IsReceiveOnly);
Console.WriteLine(" Multicast ............................... : {0}",
adapter.SupportsMulticast);
ShowInterfaceStatistics(adapter);
Console.WriteLine();
}
}
Hinweise
Diese Klasse kapselt Daten für Netzwerkschnittstellen, die auch als Adapter bezeichnet werden, auf dem lokalen Computer. Sie erstellen keine Instanzen dieser Klasse. Die GetAllNetworkInterfaces -Methode gibt ein Array zurück, das eine instance dieser Klasse für jede Netzwerkschnittstelle auf dem lokalen Computer enthält.
Konstruktoren
NetworkInterface() |
Initialisiert eine neue Instanz der NetworkInterface-Klasse. |
Eigenschaften
Description |
Ruft die Beschreibung der Schnittstelle ab. |
Id |
Ruft den Bezeichner der Netzwerkkarte ab. |
IPv6LoopbackInterfaceIndex |
Ruft den Index der IPv6-Loopbackschnittstelle ab. |
IsReceiveOnly |
Ruft einen Boolean-Wert ab, der angibt, ob die Netzwerkschnittstelle zum Empfangen von Datenpaketen festgelegt ist. |
LoopbackInterfaceIndex |
Ruft den Index der IPv4-Loopbackschnittstelle ab. |
Name |
Ruft den Namen der Netzwerkkarte ab. |
NetworkInterfaceType |
Ruft den Schnittstellentyp ab. |
OperationalStatus |
Ruft den aktuellen Betriebszustand der Netzwerkverbindung ab. |
Speed |
Ruft die Geschwindigkeit der Netzwerkschnittstelle ab. |
SupportsMulticast |
Ruft einen Boolean-Wert ab, der angibt, ob die Netzwerkschnittstelle für den Empfang von Multicastpaketen aktiviert ist. |
Methoden
GetAllNetworkInterfaces() |
Gibt Objekte zurück, die die Netzwerkschnittstellen auf dem lokalen Computer beschreiben. |
GetIPProperties() |
Gibt ein Objekt zurück, das die Konfiguration dieser Netzwerkschnittstelle beschreibt. |
GetIPStatistics() |
Ruft die IP-Statistik für diese NetworkInterface-Instanz ab. |
GetIPv4Statistics() |
Ruft die IPv4-Statistik für diese NetworkInterface-Instanz ab. |
GetIsNetworkAvailable() |
Gibt an, ob eine Netzwerkverbindung verfügbar ist. |
GetPhysicalAddress() |
Gibt die MAC (Media Access Control)-Adresse oder physische Adresse für diesen Adapter zurück. |
Supports(NetworkInterfaceComponent) |
Ruft einen Boolean-Wert ab, der angibt, ob die Schnittstelle das angegebene Protokoll unterstützt. |