NetworkInterface.Supports(NetworkInterfaceComponent) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение типа Boolean, указывающее, поддерживает ли интерфейс заданный протокол.
public:
virtual bool Supports(System::Net::NetworkInformation::NetworkInterfaceComponent networkInterfaceComponent);
public:
abstract bool Supports(System::Net::NetworkInformation::NetworkInterfaceComponent networkInterfaceComponent);
public virtual bool Supports (System.Net.NetworkInformation.NetworkInterfaceComponent networkInterfaceComponent);
public abstract bool Supports (System.Net.NetworkInformation.NetworkInterfaceComponent networkInterfaceComponent);
abstract member Supports : System.Net.NetworkInformation.NetworkInterfaceComponent -> bool
override this.Supports : System.Net.NetworkInformation.NetworkInterfaceComponent -> bool
abstract member Supports : System.Net.NetworkInformation.NetworkInterfaceComponent -> bool
Public Overridable Function Supports (networkInterfaceComponent As NetworkInterfaceComponent) As Boolean
Public MustOverride Function Supports (networkInterfaceComponent As NetworkInterfaceComponent) As Boolean
Параметры
- networkInterfaceComponent
- NetworkInterfaceComponent
Значение NetworkInterfaceComponent.
Возвращаемое значение
Значение true
, если заданный протокол поддерживается; в противном случае — false
.
Примеры
В следующем примере кода отображается статистика для интерфейсов IPV4 на локальном компьютере.
void DisplayIPv4NetworkInterfaces()
{
array<NetworkInterface^>^nics = NetworkInterface::GetAllNetworkInterfaces();
IPGlobalProperties ^ properties = IPGlobalProperties::GetIPGlobalProperties();
Console::WriteLine( "IPv4 interface information for {0}.{1}", properties->HostName, properties->DomainName );
System::Collections::IEnumerator^ myEnum23 = nics->GetEnumerator();
while ( myEnum23->MoveNext() )
{
NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum23->Current);
// Only display informatin for interfaces that support IPv4.
if ( adapter->Supports( NetworkInterfaceComponent::IPv4 ) == false )
{
continue;
}
Console::WriteLine();
Console::WriteLine( adapter->Description );
// Underline the description.
Console::WriteLine( String::Empty->PadLeft( adapter->Description->Length, '=' ) );
IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
// Try to get the IPv4 interface properties.
IPv4InterfaceProperties ^ p = adapterProperties->GetIPv4Properties();
if ( !p )
{
Console::WriteLine( "No IPv4 information is available for this interface." );
continue;
}
// Display the IPv4 specific data.
Console::WriteLine( " Index ............................. : {0}",
p->Index );
Console::WriteLine( " MTU ............................... : {0}",
p->Mtu );
Console::WriteLine( " APIPA active....................... : {0}",
p->IsAutomaticPrivateAddressingActive );
Console::WriteLine( " APIPA enabled...................... : {0}",
p->IsAutomaticPrivateAddressingEnabled );
Console::WriteLine( " Forwarding enabled................. : {0}",
p->IsForwardingEnabled );
Console::WriteLine( " Uses WINS ......................... : {0}",
p->UsesWins );
}
}
public static void DisplayIPv4NetworkInterfaces()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
Console.WriteLine("IPv4 interface information for {0}.{1}",
properties.HostName, properties.DomainName);
Console.WriteLine();
foreach (NetworkInterface adapter in nics)
{
// Only display informatin for interfaces that support IPv4.
if (adapter.Supports(NetworkInterfaceComponent.IPv4) == false)
{
continue;
}
Console.WriteLine(adapter.Description);
// Underline the description.
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
// Try to get the IPv4 interface properties.
IPv4InterfaceProperties p = adapterProperties.GetIPv4Properties();
if (p == null)
{
Console.WriteLine("No IPv4 information is available for this interface.");
Console.WriteLine();
continue;
}
// Display the IPv4 specific data.
Console.WriteLine(" Index ............................. : {0}", p.Index);
Console.WriteLine(" MTU ............................... : {0}", p.Mtu);
Console.WriteLine(" APIPA active....................... : {0}",
p.IsAutomaticPrivateAddressingActive);
Console.WriteLine(" APIPA enabled...................... : {0}",
p.IsAutomaticPrivateAddressingEnabled);
Console.WriteLine(" Forwarding enabled................. : {0}",
p.IsForwardingEnabled);
Console.WriteLine(" Uses WINS ......................... : {0}",
p.UsesWins);
Console.WriteLine();
}
}
Public Shared Sub DisplayIPv4NetworkInterfaces()
Dim nics As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim properties As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
Console.WriteLine("IPv4 interface information for {0}.{1}", properties.HostName, properties.DomainName)
Dim adapter As NetworkInterface
For Each adapter In nics
' Only display informatin for interfaces that support IPv4.
If adapter.Supports(NetworkInterfaceComponent.IPv4) = False Then
GoTo ContinueForEach1
End If
Console.WriteLine()
Console.WriteLine(adapter.Description)
' Underline the description.
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, "="c))
Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
' Try to get the IPv4 interface properties.
Dim p As IPv4InterfaceProperties = adapterProperties.GetIPv4Properties()
If p Is Nothing Then
Console.WriteLine("No IPv4 information is available for this interface.")
GoTo ContinueForEach1
End If
' Display the IPv4 specific data.
Console.WriteLine(" Index ............................. : {0}", p.Index)
Console.WriteLine(" MTU ............................... : {0}", p.Mtu)
Console.WriteLine(" APIPA active....................... : {0}", p.IsAutomaticPrivateAddressingActive)
Console.WriteLine(" APIPA enabled...................... : {0}", p.IsAutomaticPrivateAddressingEnabled)
Console.WriteLine(" Forwarding enabled................. : {0}", p.IsForwardingEnabled)
Console.WriteLine(" Uses WINS ......................... : {0}", p.UsesWins)
ContinueForEach1:
Next adapter
End Sub
Применяется к
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.