IPInterfaceProperties 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供有关支持 Internet 协议版本 4 (IPv4) 或 Internet 协议版本 6 (IPv6) 的网络接口的信息。
public ref class IPInterfaceProperties abstract
public abstract class IPInterfaceProperties
type IPInterfaceProperties = class
Public MustInherit Class IPInterfaceProperties
- 继承
-
IPInterfaceProperties
示例
下面的代码示例显示地址信息。
void ShowIPAddresses( IPInterfaceProperties ^ adapterProperties )
{
IPAddressCollection ^ dnsServers = adapterProperties->DnsAddresses;
if ( dnsServers != nullptr )
{
System::Collections::IEnumerator^ myEnum = dnsServers->GetEnumerator();
while ( myEnum->MoveNext() )
{
IPAddressInformation ^ dns = safe_cast<IPAddressInformation ^>(myEnum->Current);
Console::WriteLine( " DNS Servers ............................. : {0} ({1} {2})",
dns->Address, dns->IsTransient ? (String^)"Transient" : "", dns->IsDnsEligible ? (String^)"DNS Eligible" : "" );
}
}
IPAddressInformationCollection ^ anyCast = adapterProperties->AnycastAddresses;
if ( anyCast != nullptr )
{
System::Collections::IEnumerator^ myEnum1 = anyCast->GetEnumerator();
while ( myEnum1->MoveNext() )
{
IPAddressInformation ^ any = safe_cast<IPAddressInformation ^>(myEnum1->Current);
Console::WriteLine( " Anycast Address .......................... : {0} {1} {2}", any->Address, any->IsTransient ? (String^)"Transient" : "", any->IsDnsEligible ? (String^)"DNS Eligible" : "" );
}
Console::WriteLine();
}
MulticastIPAddressInformationCollection ^ multiCast = adapterProperties->MulticastAddresses;
if ( multiCast != nullptr )
{
System::Collections::IEnumerator^ myEnum2 = multiCast->GetEnumerator();
while ( myEnum2->MoveNext() )
{
IPAddressInformation ^ multi = safe_cast<IPAddressInformation ^>(myEnum2->Current);
Console::WriteLine( " Multicast Address ....................... : {0} {1} {2}", multi->Address, multi->IsTransient ? (String^)"Transient" : "", multi->IsDnsEligible ? (String^)"DNS Eligible" : "" );
}
Console::WriteLine();
}
UnicastIPAddressInformationCollection ^ uniCast = adapterProperties->UnicastAddresses;
if ( uniCast != nullptr )
{
String^ lifeTimeFormat = "dddd, MMMM dd, yyyy hh:mm:ss tt";
System::Collections::IEnumerator^ myEnum3 = uniCast->GetEnumerator();
while ( myEnum3->MoveNext() )
{
UnicastIPAddressInformation ^ uni = safe_cast<UnicastIPAddressInformation ^>(myEnum3->Current);
DateTime when;
Console::WriteLine( " Unicast Address ......................... : {0}", uni->Address );
Console::WriteLine( " Prefix Origin ........................ : {0}", uni->PrefixOrigin );
Console::WriteLine( " Suffix Origin ........................ : {0}", uni->SuffixOrigin );
Console::WriteLine( " Duplicate Address Detection .......... : {0}", uni->DuplicateAddressDetectionState );
// Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM
// if en-us is the current culture.
// Calculate the date and time at the end of the lifetimes.
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->AddressValidLifetime );
when = when.ToLocalTime();
Console::WriteLine( " Valid Life Time ...................... : {0}", when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->AddressPreferredLifetime );
when = when.ToLocalTime();
Console::WriteLine( " Preferred life time .................. : {0}", when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->DhcpLeaseLifetime );
when = when.ToLocalTime();
Console::WriteLine( " DHCP Leased Life Time ................ : {0}", when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
}
Console::WriteLine();
}
}
public static void ShowIPAddresses(IPInterfaceProperties adapterProperties)
{
IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
if (dnsServers != null)
{
foreach (IPAddress dns in dnsServers)
{
Console.WriteLine(" DNS Servers ............................. : {0}",
dns.ToString()
);
}
}
IPAddressInformationCollection anyCast = adapterProperties.AnycastAddresses;
if (anyCast != null)
{
foreach (IPAddressInformation any in anyCast)
{
Console.WriteLine(" Anycast Address .......................... : {0} {1} {2}",
any.Address,
any.IsTransient ? "Transient" : "",
any.IsDnsEligible ? "DNS Eligible" : ""
);
}
Console.WriteLine();
}
MulticastIPAddressInformationCollection multiCast = adapterProperties.MulticastAddresses;
if (multiCast != null)
{
foreach (IPAddressInformation multi in multiCast)
{
Console.WriteLine(" Multicast Address ....................... : {0} {1} {2}",
multi.Address,
multi.IsTransient ? "Transient" : "",
multi.IsDnsEligible ? "DNS Eligible" : ""
);
}
Console.WriteLine();
}
UnicastIPAddressInformationCollection uniCast = adapterProperties.UnicastAddresses;
if (uniCast != null)
{
string lifeTimeFormat = "dddd, MMMM dd, yyyy hh:mm:ss tt";
foreach (UnicastIPAddressInformation uni in uniCast)
{
DateTime when;
Console.WriteLine(" Unicast Address ......................... : {0}", uni.Address);
Console.WriteLine(" Prefix Origin ........................ : {0}", uni.PrefixOrigin);
Console.WriteLine(" Suffix Origin ........................ : {0}", uni.SuffixOrigin);
Console.WriteLine(" Duplicate Address Detection .......... : {0}",
uni.DuplicateAddressDetectionState);
// Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM
// if en-us is the current culture.
// Calculate the date and time at the end of the lifetimes.
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressValidLifetime);
when = when.ToLocalTime();
Console.WriteLine(" Valid Life Time ...................... : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressPreferredLifetime);
when = when.ToLocalTime();
Console.WriteLine(" Preferred life time .................. : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.DhcpLeaseLifetime);
when = when.ToLocalTime();
Console.WriteLine(" DHCP Leased Life Time ................ : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
}
Console.WriteLine();
}
}
注解
此类提供对支持 IPv4 或 IPv6 的网络接口的配置和地址信息的访问权限。 不创建此类的实例;它们由 GetIPProperties 方法返回。
若要访问 IPv4 特定的属性,请使用 方法返回的 GetIPv4Properties 对象。 若要访问 IPv6 特定的属性,请使用 方法返回 GetIPv6Properties 的 对象。
构造函数
IPInterfaceProperties() |
初始化 IPInterfaceProperties 类的新实例。 |
属性
AnycastAddresses |
获取分配给此接口的任意广播 IP 地址。 |
DhcpServerAddresses |
获取此接口的动态主机配置协议 (DHCP) 服务器的地址。 |
DnsAddresses |
获取此接口的域名系统 (DNS) 服务器的地址。 |
DnsSuffix |
获取与此接口关联的域名系统 (DNS) 后缀。 |
GatewayAddresses |
获取此接口的 IPv4 网关地址。 |
IsDnsEnabled |
获取一个 Boolean 值,该值指示是否将 NetBt 配置为对此接口使用 DNS 名称解析。 |
IsDynamicDnsEnabled |
获取 Boolean 值,该值指示此接口是否配置为自动向域名系统 (DNS) 注册其 IP 地址信息。 |
MulticastAddresses |
获取分配给此接口的多播地址。 |
UnicastAddresses |
获取分配给此接口的单播地址。 |
WinsServersAddresses |
获取 Windows Internet 名称服务 (WINS) 服务器的地址。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetIPv4Properties() |
提供此网络接口的 Internet 协议版本 4 (IPv4) 配置数据。 |
GetIPv6Properties() |
提供此网络接口的 Internet 协议版本 6 (IPv6) 配置数据。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |