NetworkInterfaceComponent Enum
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.
Specifies the Internet Protocol versions that are supported by a network interface.
public enum class NetworkInterfaceComponent
public enum NetworkInterfaceComponent
type NetworkInterfaceComponent =
Public Enum NetworkInterfaceComponent
- Inheritance
Fields
Name | Value | Description |
---|---|---|
IPv4 | 0 | Internet Protocol version 4. |
IPv6 | 1 | Internet Protocol version 6. |
Examples
The following code example checks whether a network interface supports 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 ) )
{
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))
{
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
Remarks
The values in this enumeration are used by the Supports method to specify the Internet Protocol version supported by a network interface.