IPInterfaceProperties Class
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.
Provides information about network interfaces that support Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6).
public ref class IPInterfaceProperties abstract
public abstract class IPInterfaceProperties
type IPInterfaceProperties = class
Public MustInherit Class IPInterfaceProperties
- Inheritance
-
IPInterfaceProperties
Examples
The following code example displays address information.
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();
}
}
Remarks
This class provides access to configuration and address information for network interfaces that support IPv4 or IPv6. You do not create instances of this class; they are returned by the GetIPProperties method.
To access IPv4-specific properties, use the object returned by the GetIPv4Properties method. To access IPv6-specific properties, use the object returned by the GetIPv6Properties method.
Constructors
IPInterfaceProperties() |
Initializes a new instance of the IPInterfaceProperties class. |
Properties
AnycastAddresses |
Gets the anycast IP addresses assigned to this interface. |
DhcpServerAddresses |
Gets the addresses of Dynamic Host Configuration Protocol (DHCP) servers for this interface. |
DnsAddresses |
Gets the addresses of Domain Name System (DNS) servers for this interface. |
DnsSuffix |
Gets the Domain Name System (DNS) suffix associated with this interface. |
GatewayAddresses |
Gets the IPv4 network gateway addresses for this interface. |
IsDnsEnabled |
Gets a Boolean value that indicates whether NetBt is configured to use DNS name resolution on this interface. |
IsDynamicDnsEnabled |
Gets a Boolean value that indicates whether this interface is configured to automatically register its IP address information with the Domain Name System (DNS). |
MulticastAddresses |
Gets the multicast addresses assigned to this interface. |
UnicastAddresses |
Gets the unicast addresses assigned to this interface. |
WinsServersAddresses |
Gets the addresses of Windows Internet Name Service (WINS) servers. |
Methods
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetIPv4Properties() |
Provides Internet Protocol version 4 (IPv4) configuration data for this network interface. |
GetIPv6Properties() |
Provides Internet Protocol version 6 (IPv6) configuration data for this network interface. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |