Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Overview of the Domain Name System (DNS) technology.
To develop Domain Name System (DNS), you need these headers:
For programming guidance for this technology, see:
Enumerations
DNS_CHARSET The DNS_CHARSET enumeration specifies the character set used. |
DNS_CONFIG_TYPE The DNS_CONFIG_TYPE enumeration provides DNS configuration type information. |
DNS_FREE_TYPE The DNS_FREE_TYPE enumeration specifies the type of data to free. |
DNS_NAME_FORMAT The DNS_NAME_FORMAT enumeration specifies name format information for DNS. |
DNS_PROXY_INFORMATION_TYPE The DNS_PROXY_INFORMATION_TYPE enumeration defines the proxy information type in the DNS_PROXY_INFORMATION structure. |
DNS_SECTION The DNS_SECTION enumeration is used in record flags, and as an index into DNS wire message header section counts. |
Functions
DNS_QUERY_COMPLETION_ROUTINE The DNS_QUERY_COMPLETION_ROUTINE callback is used to asynchronously return the results of a DNS query. |
DNS_QUERY_RAW_COMPLETION_ROUTINE The function signature of an asynchronous callback function that you implement. The system calls your implementation with the results of a query that you initiated by calling DnsQueryRaw. |
DNS_SERVICE_BROWSE_CALLBACK Used to asynchronously return the results of a DNS-SD query. |
DNS_SERVICE_REGISTER_COMPLETE Used to notify your application that service registration has completed. |
DNS_SERVICE_RESOLVE_COMPLETE Used to asynchronously return the results of a service resolve operation. |
DnsAcquireContextHandle_A The DnsAcquireContextHandle function type acquires a context handle to a set of credentials. (ANSI) |
DnsAcquireContextHandle_W The DnsAcquireContextHandle function type acquires a context handle to a set of credentials. (Unicode) |
DnsCancelQuery The DnsCancelQuery function can be used to cancel a pending query to the DNS namespace. |
DnsCancelQueryRaw Cancels a query that was initiated by calling DnsQueryRaw. |
DnsExtractRecordsFromMessage_UTF8 The DnsExtractRecordsFromMessage function type extracts resource records (RR) from a DNS message, and stores those records in a DNS_RECORD structure. (DnsExtractRecordsFromMessage_UTF8) |
DnsExtractRecordsFromMessage_W The DnsExtractRecordsFromMessage function type extracts resource records (RR) from a DNS message, and stores those records in a DNS_RECORD structure. (DnsExtractRecordsFromMessage_W) |
DnsFree Frees memory allocated for DNS records that was obtained using the DnsQuery function. |
DnsFreeCustomServers Frees the array of custom servers that was returned from a previous call to DnsGetApplicationSettings. |
DnsFreeProxyName Frees memory allocated for the proxyName member of a DNS_PROXY_INFORMATION structure obtained using the DnsGetProxyInformation function. |
DnsGetApplicationSettings Retrieves the per-application DNS settings. |
DnsGetProxyInformation The DnsGetProxyInformation function returns the proxy information for a DNS server's name resolution policy table. |
DnsIsZtEnabled Gets a value that specifies whether Zero Trust DNS (ZTDNS) is enabled on the current device. |
DnsModifyRecordsInSet_A Function adds, modifies or removes a Resource Record (RR) set that may have been previously registered with DNS servers. (DnsModifyRecordsInSet_A) |
DnsModifyRecordsInSet_UTF8 Function adds, modifies or removes a Resource Record (RR) set that may have been previously registered with DNS servers. (DnsModifyRecordsInSet_UTF8) |
DnsModifyRecordsInSet_W Function adds, modifies or removes a Resource Record (RR) set that may have been previously registered with DNS servers. (DnsModifyRecordsInSet_W) |
DnsNameCompare The DnsNameCompare function compares two DNS names. (DnsNameCompare_UTF8) |
DnsNameCompare_A The DnsNameCompare function compares two DNS names. (DnsNameCompare_A) |
DnsNameCompare_W The DnsNameCompare function compares two DNS names. (DnsNameCompare_W) |
DnsQuery_A Is the generic query interface to the DNS namespace, and provides application developers with a DNS query resolution interface. (DnsQuery_A) |
DnsQuery_UTF8 Is the generic query interface to the DNS namespace, and provides application developers with a DNS query resolution interface. (DnsQuery_UTF8) |
DnsQuery_W Is the generic query interface to the DNS namespace, and provides application developers with a DNS query resolution interface. (DnsQuery_W) |
DnsQueryConfig The DnsQueryConfig function enables application programmers to query for the configuration of the local computer or a specific adapter. |
DnsQueryEx The asynchronous generic query interface to the DNS namespace, and provides application developers with a DNS query resolution interface. |
DnsQueryRaw Enables you to perform a DNS query that accepts either a raw packet containing a DNS query, or a query name and type. |
DnsQueryRawResultFree Frees the memory allocated to a DNS_QUERY_RAW_RESULT structure object. |
DnsRecordCompare The DnsRecordCompare function compares two DNS resource records (RR). |
DnsRecordCopyEx The DnsRecordCopyEx function creates a copy of a specified resource record (RR). The DnsRecordCopyEx function is also capable of converting the character encoding during the copy operation. |
DnsRecordListFree Frees memory allocated for DNS records obtained using the DnsQuery function. |
DnsRecordSetCompare The DnsRecordSetCompare function compares two RR sets. |
DnsRecordSetCopyEx The DnsRecordSetCopyEx function creates a copy of a specified resource record set. The DnsRecordSetCopyEx function is also capable of converting the character encoding during the copy operation. |
DnsRecordSetDetach The DnsRecordSetDetach function detaches the first record set from a specified list of DNS records. |
DnsReleaseContextHandle The DnsReleaseContextHandle function releases memory used to store the credentials of a specific account. |
DnsReplaceRecordSetA Replaces an existing resource record (RR) set. (DnsReplaceRecordSetA) |
DnsReplaceRecordSetUTF8 Replaces an existing resource record (RR) set. (DnsReplaceRecordSetUTF8) |
DnsReplaceRecordSetW Replaces an existing resource record (RR) set. (DnsReplaceRecordSetW) |
DnsServiceBrowse Used to initiate a DNS-SD discovery for services running on the local network. |
DnsServiceBrowseCancel Used to cancel a running DNS-SD discovery query. |
DnsServiceConstructInstance Used to build a DNS_SERVICE_INSTANCE structure from data that describes it. |
DnsServiceCopyInstance Used to copy a DNS_SERVICE_INSTANCE structure. |
DnsServiceDeRegister Used to remove a registered service. |
DnsServiceFreeInstance Used to free the resources associated with a DNS_SERVICE_INSTANCE structure. |
DnsServiceRegister Used to register a discoverable service on this device. (DnsServiceRegister) |
DnsServiceRegisterCancel Used to cancel a pending registration operation. |
DnsServiceResolve Used to obtain more information about a service advertised on the local network. |
DnsServiceResolveCancel Used to cancel a running DNS-SD resolve query. |
DnsSetApplicationSettings Configures per-application DNS settings. This includes the ability to set per-application DNS servers either as fallback to the system configured servers, or exclusively. |
DnsStartMulticastQuery Used to register a discoverable service on this device. (DnsStartMulticastQuery) |
DnsStopMulticastQuery Used to stop a running DnsStartMulticastQuery operation. |
DnsValidateName The DnsValidateName macro (windns.h) function validates the status of a specified DNS name. |
DnsValidateName_A The DnsValidateName function validates the status of a specified DNS name. (DnsValidateName_A) |
DnsValidateName_UTF8 The DnsValidateName_UTF8 function (windns.h) function validates the status of a specified DNS name. |
DnsValidateName_W The DnsValidateName function validates the status of a specified DNS name. (DnsValidateName_W) |
DnsValidateServerStatus The DnsValidateServerStatus function validates an IP address as a suitable DNS server. |
DnsWriteQuestionToBuffer_UTF8 The DnsWriteQuestionToBuffer function type creates a DNS query message and stores it in a DNS_MESSAGE_BUFFER structure. (DnsWriteQuestionToBuffer_UTF8) |
DnsWriteQuestionToBuffer_W The DnsWriteQuestionToBuffer function type creates a DNS query message and stores it in a DNS_MESSAGE_BUFFER structure. (DnsWriteQuestionToBuffer_W) |
MDNS_QUERY_CALLBACK Used to asynchronously return the results of an mDNS query. |
Structures
DNS_A_DATA The DNS_A_DATA structure represents a DNS address (A) record as specified in section 3.4.1 of RFC 1035. |
DNS_AAAA_DATA The DNS_AAAA_DATA structure represents a DNS IPv6 (AAAA) record as specified in RFC 3596. |
DNS_ADDR A DNS_ADDR structure stores an IPv4 or IPv6 address. |
DNS_ADDR_ARRAY Stores an array of IPv4 or IPv6 addresses. |
DNS_APPLICATION_SETTINGS Represents per-application DNS settings. |
DNS_ATMA_DATA The DNS_ATMA_DATA structure represents a DNS ATM address (ATMA) resource record (RR). |
DNS_CUSTOM_SERVER Represents a DNS custom server. A DNS_CUSTOM_SERVER object is passed to DnsQueryEx via the DNS_QUERY_REQUEST3 structure. |
DNS_DHCID_DATA Represents a DNS Dynamic Host Configuration Protocol Information (DHCID) resource record (RR) as specified in section 3 of RFC 4701. |
DNS_DS_DATA Represents a DS resource record (RR) as specified in section 2 of RFC 4034 and is used to verify the contents of DNS_DNSKEY_DATA. |
DNS_HEADER The DNS_HEADER structure contains DNS header information used when sending DNS messages as specified in section 4.1.1 of RFC 1035. |
DNS_KEY_DATA The DNS_KEY_DATA structure represents a DNS key (KEY) resource record (RR) as specified in RFC 3445. |
DNS_LOC_DATA The DNS_LOC_DATA structure represents a DNS location (LOC) resource record (RR) as specified in RFC 1876. |
DNS_MESSAGE_BUFFER The DNS_MESSAGE_BUFFER structure stores message information for DNS queries. |
DNS_MINFO_DATAA The DNS_MINFO_DATA structure represents a DNS mail information (MINFO) record as specified in section 3.3.7 of RFC 1035. (ANSI) |
DNS_MINFO_DATAW The DNS_MINFO_DATA structure represents a DNS mail information (MINFO) record as specified in section 3.3.7 of RFC 1035. (Unicode) |
DNS_MX_DATAA The DNS_MX_DATA structure represents a DNS mail exchanger (MX) record as specified in section 3.3.9 of RFC 1035. (ANSI) |
DNS_MX_DATAW The DNS_MX_DATA structure represents a DNS mail exchanger (MX) record as specified in section 3.3.9 of RFC 1035. (Unicode) |
DNS_NAPTR_DATAA The DNS_NAPTR_DATA structure represents a Naming Authority Pointer (NAPTR) DNS Resource Record (RR) as specified in RFC 2915. (ANSI) |
DNS_NAPTR_DATAW The DNS_NAPTR_DATA structure represents a Naming Authority Pointer (NAPTR) DNS Resource Record (RR) as specified in RFC 2915. (Unicode) |
DNS_NSEC_DATAA Represents an NSEC resource record (RR) as specified in section 4 of RFC 4034. (ANSI) |
DNS_NSEC_DATAW Represents an NSEC resource record (RR) as specified in section 4 of RFC 4034. (Unicode) |
DNS_NULL_DATA The DNS_NULL_DATA structure represents NULL data for a DNS resource record as specified in section 3.3.10 of RFC 1035. |
DNS_NXT_DATAA The DNS_NXT_DATA structure represents a DNS next (NXT) resource record (RR) as specified in section 5 of RFC 2535. (ANSI) |
DNS_NXT_DATAW The DNS_NXT_DATA structure represents a DNS next (NXT) resource record (RR) as specified in section 5 of RFC 2535. (Unicode) |
DNS_OPT_DATA Represents a DNS Option (OPT) resource record (RR) as specified in section 4 of RFC 2671. |
DNS_PROXY_INFORMATION Contains the proxy information for a DNS server's name resolution policy table. |
DNS_PTR_DATAA The DNS_PTR_DATA structure represents a DNS pointer (PTR) record as specified in section 3.3.12 of RFC 1035. (ANSI) |
DNS_PTR_DATAW The DNS_PTR_DATA structure represents a DNS pointer (PTR) record as specified in section 3.3.12 of RFC 1035. (Unicode) |
DNS_QUERY_CANCEL A DNS_QUERY_CANCEL structure can be used to cancel an asynchronous DNS query. |
DNS_QUERY_RAW_CANCEL Represents a DNS raw query cancel handle. |
DNS_QUERY_RAW_REQUEST Represents a DNS raw query request (see DnsQueryRaw). |
DNS_QUERY_RAW_RESULT Represents a DNS raw query result (see DNS_QUERY_RAW_COMPLETION_ROUTINE). |
DNS_QUERY_REQUEST The DNS_QUERY_REQUEST structure contains the DNS query parameters used in a call to DnsQueryEx. |
DNS_QUERY_REQUEST3 Contains the DNS query parameters used in a call to DnsQueryEx. |
DNS_QUERY_RESULT A DNS_QUERY_RESULT structure contains the DNS query results returned from a call to DnsQueryEx. |
DNS_RECORD_FLAGS The DNS_RECORD_FLAGS structure is used to set flags for use in the DNS_RECORD structure. |
DNS_RECORDA Stores a DNS resource record (RR). (ANSI) |
DNS_RECORDW Stores a DNS resource record (RR). (Unicode) |
DNS_RRSET The DNS_RRSET structure contains information about a DNS Resource Record (RR) set. |
DNS_SERVICE_BROWSE_REQUEST Contains the query parameters used in a call to DnsServiceBrowse. |
DNS_SERVICE_CANCEL Used to cancel an asynchronous DNS-SD operation. |
DNS_SERVICE_INSTANCE Represents a DNS service running on the network. |
DNS_SERVICE_REGISTER_REQUEST Contains the information necessary to advertise a service using DnsServiceRegister, or to stop advertising it using DnsServiceDeRegister. |
DNS_SERVICE_RESOLVE_REQUEST Contains the query parameters used in a call to DnsServiceResolve. |
DNS_SIG_DATAA Structure represents a DNS Security Extensions (DNSSEC) cryptographic signature (SIG) resource record (RR) as specified in RFC 4034. (ANSI) |
DNS_SIG_DATAW Structure represents a DNS Security Extensions (DNSSEC) cryptographic signature (SIG) resource record (RR) as specified in RFC 4034. (Unicode) |
DNS_SOA_DATAA The DNS_SOA_DATA structure represents a DNS start of authority (SOA) record as specified in section 3.3.13 of RFC 1035. (ANSI) |
DNS_SOA_DATAW The DNS_SOA_DATA structure represents a DNS start of authority (SOA) record as specified in section 3.3.13 of RFC 1035. (Unicode) |
DNS_SRV_DATAA The DNS_SRV_DATA structure represents a DNS service (SRV) record as specified in RFC 2782. (ANSI) |
DNS_SRV_DATAW The DNS_SRV_DATA structure represents a DNS service (SRV) record as specified in RFC 2782. (Unicode) |
DNS_TKEY_DATAA The DNS_TKEY_DATA structure represents a DNS TKEY resource record, used to establish and delete an algorithm's shared-secret keys between a DNS resolver and server as specified in RFC 2930. (ANSI) |
DNS_TKEY_DATAW The DNS_TKEY_DATA structure represents a DNS TKEY resource record, used to establish and delete an algorithm's shared-secret keys between a DNS resolver and server as specified in RFC 2930. (Unicode) |
DNS_TSIG_DATAA The DNS_TSIG_DATA structure represents a secret key transaction authentication (TSIG) resource record (RR) as specified in RFC 2845 and RFC 3645. (ANSI) |
DNS_TSIG_DATAW The DNS_TSIG_DATA structure represents a secret key transaction authentication (TSIG) resource record (RR) as specified in RFC 2845 and RFC 3645. (Unicode) |
DNS_TXT_DATAA The DNS_TXT_DATA structure represents a DNS text (TXT) record as specified in section 3.3.14 of RFC 1035. (ANSI) |
DNS_TXT_DATAW The DNS_TXT_DATA structure represents a DNS text (TXT) record as specified in section 3.3.14 of RFC 1035. (Unicode) |
DNS_WINS_DATA The DNS_WINS_DATA structure represents a DNS Windows Internet Name Service (WINS) record. |
DNS_WINSR_DATAA The DNS_WINSR_DATA structure represents a DNS Windows Internet Name Service reverse-lookup (WINSR) record. (ANSI) |
DNS_WINSR_DATAW The DNS_WINSR_DATA structure represents a DNS Windows Internet Name Service reverse-lookup (WINSR) record. (Unicode) |
DNS_WIRE_QUESTION The DNS_WIRE_QUESTION structure contains information about a DNS question transmitted across the network as specified in section 4.1.2 of RFC 1035.. |
DNS_WIRE_RECORD The DNS_WIRE_RECORD structure contains information about a DNS wire record transmitted across the network as specified in section 4.1.3 of RFC 1035. |
DNS_WKS_DATA The DNS_WKS_DATA structure represents a DNS well-known services (WKS) record as specified in section 3.4.2 of RFC 1035. |
IP4_ARRAY The IP4_ARRAY structure stores an array of IPv4 addresses. |
IP6_ADDRESS The IP6_ADDRESS structure stores an IPv6 address. (IP6_ADDRESS) |
MDNS_QUERY_HANDLE Contains information related to an ongoing MDNS query. Your application must not modify its contents. |
MDNS_QUERY_REQUEST Contains the necessary information to perform an mDNS query. |