Host Name Resolution for Dual Stack (IPv4/IPv6) (Windows CE 5.0)

Send Feedback

Windows CE resolves host names into IPv6 addresses via queries to a DNS or WINS server, or via IPv6 link local multicast. Queries sent to DNS or WINS servers will be performed over IPv4 even though they may return IPv6 addresses.

To use a host name as an alias for an IPv6 address, you must ensure that the name is unique and that it resolves to the correct IPv6 address. For IPv6 name-to-address entries, the IPv6 address is written by using standard colon-hexadecimal format. For more information, see IPv6 Addresses.

When using the getaddrinfo function, dual stack name resolution occurs. Domain names are resolved by sending DNS name queries to a configured DNS server. This is a computer that either stores domain name-to-IPv6 address mapping records or has records of other DNS servers. The DNS name resolution may yield both IPv4 and IPv6 addresses.

The DNS server resolves the queried domain name to an IPv4 or IPv6 address and returns the results. When configured for DHCP, the DHCP server provides IPv4 addresses of DNS and WINS servers used for both A and AAAA searches.

The DNS client in Windows CE .NET 4.1 and later also supports the processing of AAAA (quad-A) resource records. The Internet Protocol (TCP/IP) must be configured with the IPv4 address of a DNS server.

The Host name is resolved to an address by a DNS, WINS, or Link Local Multicast Name Resolution (LLMNR) resolver. The following table shows each resolver mode.

Resolver mode Description
DNS The host name in an A record (32-bit IPv4 address) or AAAA record (128-bit IPv6 address) is resolved by a DNS server. The following list shows the resolving order:
  1. Attempt to resolve using the first configured DNS server.

    If the primary DNS server does not respond within the timeout period, the search begins on the secondary DNS server.

  2. Attempt to resolve using the second configured server.
LLMNR Link Local Multicast Name Resolution (LLMNR) is a peer-to-peer name resolution protocol that is used for IPv6 when DNS name resolution is not possible. LLMNR operates only on the local link. It uses the DNS packet format and supports DNS formats, types, and classes. For information about the address and port used for LLMNR queries, see TCP/IPv6 Configurable Registry Settings.
WINS The host name in an A record (32-bit IPv4 address) is resolved by a WINS server. The following list shows the resolving order:
  1. Attempt to resolve using the first configured WINS server.

    If the primary WINS server does not respond within the timeout period, the search begins on the secondary WINS server.

  2. Attempt to resolve using the second WINS server.
  3. The WINS request is broadcast.
Note   The WINS resolver mode is not used for AAAA searches.

Using registry entries, you can specify the order in which addresses are resolved.

The following table shows the registry values for controlling the global resolver modes. The registry key HKEY_LOCAL_MACHINE\Comm\AFD contains these values.

Value Description
NameResolutionOrdering Use this value to specify the order in which addresses are resolved.
  • 1 = DNS LLMNR WINS (default)
  • 2 = LLMNR DNS WINS
  • 3 = LLMNR WINS DNS
  • 4 = WINS DNS LLMNR
  • 5 = WINS LLMNR DNS
  • 6 = DNS WINS LLMNR

The default order for resolving an A record query is DNS, WINS, and then WINS BC. The default order for resolving an AAAA record query is DNS across an IPv4 network, and then LLMNR to link-local Multicast address.

EnableDNS6Addresses Not supported.
EnableSingleLabelDNS Use this value to enable sending DNS queries for a single label name:
  • 0 (OFF) (default)
  • 1 (ON)

Typically, the host's domain name is appended to a single label name to form a fully qualified domain name for DNS queries.

For information about how source and destination addresses are determined, see Default Address Selection for IPv6.

For information about the algorithms used to determine source and destination addresses of appropriate scope and configuration status, thus determining which stack (IPv4 or IPv6) to use, see Default Address Selection for IPv6.

See Also

Host Name Resolution for IPv6 | Multicast IPv6 Addresses | How to Convert an Application from IPv4 to IPv4/IPv6

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.