IPInterfaceProperties Class
Provides information about network interfaces that support Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6).
Assembly: System (in System.dll)
| Name | Description | |
|---|---|---|
![]() | IPInterfaceProperties() | Initializes a new instance of the IPInterfaceProperties class. |
| Name | Description | |
|---|---|---|
![]() | 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. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(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() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
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.
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(); } }
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


