IPInterfaceProperties 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供支援網際網路通訊協定第 4 版 (IPv4) 或網際網路通訊協定第 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 網際網路名稱服務 (WINS) 伺服器的位址。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetIPv4Properties() |
提供這個網路介面的網際網路通訊協定第 4 版 (IPv4) 組態資料。 |
GetIPv6Properties() |
提供這個網路介面的網際網路通訊協定第 6 版 (IPv6) 組態資料。 |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |