แก้ไข

แชร์ผ่าน


NetworkInterface.Supports(NetworkInterfaceComponent) Method

Definition

Gets a Boolean value that indicates whether the interface supports the specified protocol.

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

Parameters

networkInterfaceComponent
NetworkInterfaceComponent

A NetworkInterfaceComponent value.

Returns

true if the specified protocol is supported; otherwise, false.

Examples

The following code example displays statistics for IPV4 interfaces on the local computer.

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

Applies to