IPAddressInformation.IsDnsEligible Property
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.
Gets a Boolean value that indicates whether the Internet Protocol (IP) address is valid to appear in a Domain Name System (DNS) server database.
public:
abstract property bool IsDnsEligible { bool get(); };
public abstract bool IsDnsEligible { get; }
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public abstract bool IsDnsEligible { get; }
member this.IsDnsEligible : bool
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.IsDnsEligible : bool
Public MustOverride ReadOnly Property IsDnsEligible As Boolean
Property Value
true
if the address can appear in a DNS database; otherwise, false
.
- Attributes
Examples
The following code example displays the anycast addresses for the network interfaces on the local computer.
void DisplayAnycastAddresses()
{
int count = 0;
Console::WriteLine( "Anycast Addresses" );
array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
System::Collections::IEnumerator^ myEnum13 = adapters->GetEnumerator();
while ( myEnum13->MoveNext() )
{
NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum13->Current);
IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
IPAddressInformationCollection ^ anyCast = adapterProperties->AnycastAddresses;
if ( anyCast->Count > 0 )
{
Console::WriteLine( adapter->Description );
System::Collections::IEnumerator^ myEnum14 = anyCast->GetEnumerator();
while ( myEnum14->MoveNext() )
{
IPAddressInformation ^ any = safe_cast<IPAddressInformation ^>(myEnum14->Current);
Console::WriteLine( " Anycast Address .......................... : {0} {1} {2}",
any->Address, any->IsTransient ? "Transient" : "",
any->IsDnsEligible ? "DNS Eligible" : "" );
count++;
}
Console::WriteLine();
}
}
if (count == 0)
{
Console::WriteLine(" No anycast addresses were found.");
Console::WriteLine();
}
}
public static void DisplayAnycastAddresses()
{
int count = 0;
Console.WriteLine("Anycast Addresses");
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
IPAddressInformationCollection anyCast = adapterProperties.AnycastAddresses;
if (anyCast.Count >0)
{
Console.WriteLine(adapter.Description);
foreach (IPAddressInformation any in anyCast)
{
Console.WriteLine(" Anycast Address .......................... : {0} {1} {2}",
any.Address,
any.IsTransient ? "Transient" : "",
any.IsDnsEligible ? "DNS Eligible" : ""
);
count++;
}
Console.WriteLine();
}
}
if (count == 0)
{
Console.WriteLine(" No anycast addressses were found.");
Console.WriteLine();
}
}
Public Shared Sub DisplayAnycastAddresses()
Dim count as Integer = 0
Console.WriteLine("Anycast Addresses")
Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim adapter As NetworkInterface
For Each adapter In adapters
Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
Dim anyCast As IPAddressInformationCollection = adapterProperties.AnycastAddresses
If anyCast.Count > 0 Then
Console.WriteLine(adapter.Description)
Dim any As IPAddressInformation
For Each any In anyCast
Console.WriteLine(" Anycast Address .......................... : {0} {1} {2}", any.Address, IIf(any.IsTransient, "Transient", ""), IIf(any.IsDnsEligible, "DNS Eligible", ""))
'TODO: For performance reasons this should be changed to nested IF statements
'TODO: For performance reasons this should be changed to nested IF statements
count += 1
Next any
Console.WriteLine()
End If
Next adapter
if count = 0 then
Console.WriteLine(" No anycast addresses were found.")
Console.WriteLine()
End if
End Sub
Remarks
Addresses in the range 169.254.0.0 to 169.254.255.255 are not DNS eligible. These addresses are reserved for Automatic Private IP Addressing (APIPA).