NetworkInterface.GetIPProperties 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回描述此网络接口的配置的对象。
public:
virtual System::Net::NetworkInformation::IPInterfaceProperties ^ GetIPProperties();
public:
abstract System::Net::NetworkInformation::IPInterfaceProperties ^ GetIPProperties();
public virtual System.Net.NetworkInformation.IPInterfaceProperties GetIPProperties ();
public abstract System.Net.NetworkInformation.IPInterfaceProperties GetIPProperties ();
abstract member GetIPProperties : unit -> System.Net.NetworkInformation.IPInterfaceProperties
override this.GetIPProperties : unit -> System.Net.NetworkInformation.IPInterfaceProperties
abstract member GetIPProperties : unit -> System.Net.NetworkInformation.IPInterfaceProperties
Public Overridable Function GetIPProperties () As IPInterfaceProperties
Public MustOverride Function GetIPProperties () As IPInterfaceProperties
返回
IPInterfaceProperties 对象,用于描述此网络接口。
示例
下面的代码示例显示支持 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
注解
请注意,此方法返回的 对象中的信息反映了创建数组时的接口。 此信息不会动态更新。