| windns.h (6.1.7601.17570-Windows_7.0) | | windns.h (6.3.9600.17415-Windows_8.1) |
| | |
| skipping to change at line 25 | | skipping to change at line 25 |
| Author: | | Author: |
| | |
| Jim Gilroy (jamesg) December 7, 1996 | | Jim Gilroy (jamesg) December 7, 1996 |
| | |
| Revision History: | | Revision History: |
| | |
| --*/ | | --*/ |
| | |
| #ifndef _WINDNS_INCLUDED_ | | #ifndef _WINDNS_INCLUDED_ |
| #define _WINDNS_INCLUDED_ | | #define _WINDNS_INCLUDED_ |
|
| | #include <winapifamily.h> |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" | | extern "C" |
| { | | { |
| #endif // __cplusplus | | #endif // __cplusplus |
| | |
| // | | // |
| // Define QWORD -- not yet defined globally | | // Define QWORD -- not yet defined globally |
| // | | // |
| | |
| typedef unsigned __int64 QWORD, *PQWORD; | | typedef unsigned __int64 QWORD, *PQWORD; |
| | |
| // | | // |
| // DNS public types | | // DNS public types |
| // | | // |
| | |
|
| typedef __success(return == 0) LONG DNS_STATUS; | | typedef _Return_type_success_(return == 0) LONG DNS_STATUS; |
| typedef DNS_STATUS *PDNS_STATUS; | | typedef DNS_STATUS *PDNS_STATUS; |
| | |
| // | | // |
| // IP Address | | // IP Address |
| // | | // |
| | |
| typedef DWORD IP4_ADDRESS, *PIP4_ADDRESS; | | typedef DWORD IP4_ADDRESS, *PIP4_ADDRESS; |
| | |
| #define SIZEOF_IP4_ADDRESS (4) | | #define SIZEOF_IP4_ADDRESS (4) |
| #define IP4_ADDRESS_STRING_LENGTH (16) | | #define IP4_ADDRESS_STRING_LENGTH (16) |
| | |
| | |
| skipping to change at line 111 | | skipping to change at line 115 |
| BYTE IP6Byte[16]; | | BYTE IP6Byte[16]; |
| #ifdef IN6_ADDR | | #ifdef IN6_ADDR |
| IN6_ADDR In6; | | IN6_ADDR In6; |
| #endif | | #endif |
| } | | } |
| IP6_ADDRESS, *PIP6_ADDRESS; | | IP6_ADDRESS, *PIP6_ADDRESS; |
| | |
| #endif // MIDL_PASS | | #endif // MIDL_PASS |
| | |
| // | | // |
|
| | // DNS Address structures representing both IPv4 and IPv6 addresses. |
| | // |
| | |
| | #define DNS_ADDR_MAX_SOCKADDR_LENGTH (32) |
| | #pragma pack(push, 1) |
| | |
| | #if defined( MIDL_PASS ) |
| | |
| | typedef struct _DnsAddr |
| | { |
| | CHAR MaxSa[ DNS_ADDR_MAX_SOCKADDR_LENGTH ]; |
| | DWORD DnsAddrUserDword[ 8 ]; |
| | } |
| | DNS_ADDR, *PDNS_ADDR; |
| | |
| | typedef struct _DnsAddrArray |
| | { |
| | DWORD MaxCount; |
| | DWORD AddrCount; |
| | DWORD Tag; |
| | WORD Family; |
| | WORD WordReserved; |
| | DWORD Flags; |
| | DWORD MatchFlag; |
| | DWORD Reserved1; |
| | DWORD Reserved2; |
| | [size_is( AddrCount )] DNS_ADDR AddrArray[]; |
| | } |
| | DNS_ADDR_ARRAY, *PDNS_ADDR_ARRAY; |
| | |
| | #elif !defined( USE_PRIVATE_DNS_ADDR ) |
| | |
| | typedef struct _DnsAddr |
| | { |
| | CHAR MaxSa[ DNS_ADDR_MAX_SOCKADDR_LENGTH ]; |
| | union |
| | { |
| | DWORD DnsAddrUserDword[ 8 ]; |
| | } |
| | Data; |
| | } |
| | DNS_ADDR, *PDNS_ADDR; |
| | |
| | typedef struct _DnsAddrArray |
| | { |
| | DWORD MaxCount; |
| | DWORD AddrCount; |
| | DWORD Tag; |
| | WORD Family; |
| | WORD WordReserved; |
| | DWORD Flags; |
| | DWORD MatchFlag; |
| | DWORD Reserved1; |
| | DWORD Reserved2; |
| | DNS_ADDR AddrArray[ 1 ]; |
| | } |
| | DNS_ADDR_ARRAY, *PDNS_ADDR_ARRAY; |
| | |
| | #endif // MIDL_PASS |
| | #pragma pack(pop) |
| | |
| | // |
| // IP6 string max is 45 bytes | | // IP6 string max is 45 bytes |
| // - 6 WORDs in colon+hex (5 chars) | | // - 6 WORDs in colon+hex (5 chars) |
| // - last DWORD as IP4 (15 chars) | | // - last DWORD as IP4 (15 chars) |
| // but include | | // but include |
| // - 11 bytes for scope ID | | // - 11 bytes for scope ID |
| // - 6 bytes for port (inc. colon) | | // - 6 bytes for port (inc. colon) |
| // - two bytes to bracket address with port | | // - two bytes to bracket address with port |
| // - terminating NULL | | // - terminating NULL |
| // | | // |
| // Note: this is a change to previous def, but a single | | // Note: this is a change to previous def, but a single |
| | |
| skipping to change at line 536 | | skipping to change at line 602 |
| | |
| // RFC 4034 (DNSSEC NSEC) | | // RFC 4034 (DNSSEC NSEC) |
| #define DNS_TYPE_NSEC 0x002f // 47 | | #define DNS_TYPE_NSEC 0x002f // 47 |
| | |
| // RFC 4034 (DNSSEC DNSKEY) | | // RFC 4034 (DNSSEC DNSKEY) |
| #define DNS_TYPE_DNSKEY 0x0030 // 48 | | #define DNS_TYPE_DNSKEY 0x0030 // 48 |
| | |
| // RFC 4701 (DHCID) | | // RFC 4701 (DHCID) |
| #define DNS_TYPE_DHCID 0x0031 // 49 | | #define DNS_TYPE_DHCID 0x0031 // 49 |
| | |
|
| | // RFC 5155 (DNSSEC NSEC3) |
| | #define DNS_TYPE_NSEC3 0x0032 // 50 |
| | |
| | // RFC 5155 (DNSSEC NSEC3PARAM) |
| | #define DNS_TYPE_NSEC3PARAM 0x0033 // 51 |
| | |
| // | | // |
| // IANA Reserved | | // IANA Reserved |
| // | | // |
| | |
| #define DNS_TYPE_UINFO 0x0064 // 100 | | #define DNS_TYPE_UINFO 0x0064 // 100 |
| #define DNS_TYPE_UID 0x0065 // 101 | | #define DNS_TYPE_UID 0x0065 // 101 |
| #define DNS_TYPE_GID 0x0066 // 102 | | #define DNS_TYPE_GID 0x0066 // 102 |
| #define DNS_TYPE_UNSPEC 0x0067 // 103 | | #define DNS_TYPE_UNSPEC 0x0067 // 103 |
| | |
| // | | // |
| | |
| skipping to change at line 565 | | skipping to change at line 637 |
| #define DNS_TYPE_TKEY 0x00f9 // 249 | | #define DNS_TYPE_TKEY 0x00f9 // 249 |
| #define DNS_TYPE_TSIG 0x00fa // 250 | | #define DNS_TYPE_TSIG 0x00fa // 250 |
| #define DNS_TYPE_IXFR 0x00fb // 251 | | #define DNS_TYPE_IXFR 0x00fb // 251 |
| #define DNS_TYPE_AXFR 0x00fc // 252 | | #define DNS_TYPE_AXFR 0x00fc // 252 |
| #define DNS_TYPE_MAILB 0x00fd // 253 | | #define DNS_TYPE_MAILB 0x00fd // 253 |
| #define DNS_TYPE_MAILA 0x00fe // 254 | | #define DNS_TYPE_MAILA 0x00fe // 254 |
| #define DNS_TYPE_ALL 0x00ff // 255 | | #define DNS_TYPE_ALL 0x00ff // 255 |
| #define DNS_TYPE_ANY 0x00ff // 255 | | #define DNS_TYPE_ANY 0x00ff // 255 |
| | |
| // | | // |
|
| // Temp Microsoft types -- use until get IANA approval for real type | | // Private use Microsoft types -- See www.iana.org/assignments/dns-parameters |
| // | | // |
| | |
| #define DNS_TYPE_WINS 0xff01 // 64K - 255 | | #define DNS_TYPE_WINS 0xff01 // 64K - 255 |
| #define DNS_TYPE_WINSR 0xff02 // 64K - 254 | | #define DNS_TYPE_WINSR 0xff02 // 64K - 254 |
| #define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR) | | #define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR) |
| | |
| // | | // |
| // DNS Record Types -- Net Byte Order | | // DNS Record Types -- Net Byte Order |
| // | | // |
| | |
|
| #define DNS_RTYPE_A 0x0100 // 1 | | #define DNS_RTYPE_A 0x0100 // 1 |
| #define DNS_RTYPE_NS 0x0200 // 2 | | #define DNS_RTYPE_NS 0x0200 // 2 |
| #define DNS_RTYPE_MD 0x0300 // 3 | | #define DNS_RTYPE_MD 0x0300 // 3 |
| #define DNS_RTYPE_MF 0x0400 // 4 | | #define DNS_RTYPE_MF 0x0400 // 4 |
| #define DNS_RTYPE_CNAME 0x0500 // 5 | | #define DNS_RTYPE_CNAME 0x0500 // 5 |
| #define DNS_RTYPE_SOA 0x0600 // 6 | | #define DNS_RTYPE_SOA 0x0600 // 6 |
| #define DNS_RTYPE_MB 0x0700 // 7 | | #define DNS_RTYPE_MB 0x0700 // 7 |
| #define DNS_RTYPE_MG 0x0800 // 8 | | #define DNS_RTYPE_MG 0x0800 // 8 |
| #define DNS_RTYPE_MR 0x0900 // 9 | | #define DNS_RTYPE_MR 0x0900 // 9 |
| #define DNS_RTYPE_NULL 0x0a00 // 10 | | #define DNS_RTYPE_NULL 0x0a00 // 10 |
| #define DNS_RTYPE_WKS 0x0b00 // 11 | | #define DNS_RTYPE_WKS 0x0b00 // 11 |
| #define DNS_RTYPE_PTR 0x0c00 // 12 | | #define DNS_RTYPE_PTR 0x0c00 // 12 |
| #define DNS_RTYPE_HINFO 0x0d00 // 13 | | #define DNS_RTYPE_HINFO 0x0d00 // 13 |
| #define DNS_RTYPE_MINFO 0x0e00 // 14 | | #define DNS_RTYPE_MINFO 0x0e00 // 14 |
| #define DNS_RTYPE_MX 0x0f00 // 15 | | #define DNS_RTYPE_MX 0x0f00 // 15 |
| #define DNS_RTYPE_TEXT 0x1000 // 16 | | #define DNS_RTYPE_TEXT 0x1000 // 16 |
| #define DNS_RTYPE_RP 0x1100 // 17 | | #define DNS_RTYPE_RP 0x1100 // 17 |
| #define DNS_RTYPE_AFSDB 0x1200 // 18 | | #define DNS_RTYPE_AFSDB 0x1200 // 18 |
| #define DNS_RTYPE_X25 0x1300 // 19 | | #define DNS_RTYPE_X25 0x1300 // 19 |
| #define DNS_RTYPE_ISDN 0x1400 // 20 | | #define DNS_RTYPE_ISDN 0x1400 // 20 |
| #define DNS_RTYPE_RT 0x1500 // 21 | | #define DNS_RTYPE_RT 0x1500 // 21 |
| #define DNS_RTYPE_NSAP 0x1600 // 22 | | #define DNS_RTYPE_NSAP 0x1600 // 22 |
| #define DNS_RTYPE_NSAPPTR 0x1700 // 23 | | #define DNS_RTYPE_NSAPPTR 0x1700 // 23 |
| #define DNS_RTYPE_SIG 0x1800 // 24 | | #define DNS_RTYPE_SIG 0x1800 // 24 |
| #define DNS_RTYPE_KEY 0x1900 // 25 | | #define DNS_RTYPE_KEY 0x1900 // 25 |
| #define DNS_RTYPE_PX 0x1a00 // 26 | | #define DNS_RTYPE_PX 0x1a00 // 26 |
| #define DNS_RTYPE_GPOS 0x1b00 // 27 | | #define DNS_RTYPE_GPOS 0x1b00 // 27 |
| #define DNS_RTYPE_AAAA 0x1c00 // 28 | | #define DNS_RTYPE_AAAA 0x1c00 // 28 |
| #define DNS_RTYPE_LOC 0x1d00 // 29 | | #define DNS_RTYPE_LOC 0x1d00 // 29 |
| #define DNS_RTYPE_NXT 0x1e00 // 30 | | #define DNS_RTYPE_NXT 0x1e00 // 30 |
| #define DNS_RTYPE_EID 0x1f00 // 31 | | #define DNS_RTYPE_EID 0x1f00 // 31 |
| #define DNS_RTYPE_NIMLOC 0x2000 // 32 | | #define DNS_RTYPE_NIMLOC 0x2000 // 32 |
| #define DNS_RTYPE_SRV 0x2100 // 33 | | #define DNS_RTYPE_SRV 0x2100 // 33 |
| #define DNS_RTYPE_ATMA 0x2200 // 34 | | #define DNS_RTYPE_ATMA 0x2200 // 34 |
| #define DNS_RTYPE_NAPTR 0x2300 // 35 | | #define DNS_RTYPE_NAPTR 0x2300 // 35 |
| #define DNS_RTYPE_KX 0x2400 // 36 | | #define DNS_RTYPE_KX 0x2400 // 36 |
| #define DNS_RTYPE_CERT 0x2500 // 37 | | #define DNS_RTYPE_CERT 0x2500 // 37 |
| #define DNS_RTYPE_A6 0x2600 // 38 | | #define DNS_RTYPE_A6 0x2600 // 38 |
| #define DNS_RTYPE_DNAME 0x2700 // 39 | | #define DNS_RTYPE_DNAME 0x2700 // 39 |
| #define DNS_RTYPE_SINK 0x2800 // 40 | | #define DNS_RTYPE_SINK 0x2800 // 40 |
| #define DNS_RTYPE_OPT 0x2900 // 41 | | #define DNS_RTYPE_OPT 0x2900 // 41 |
| | |
|
| #define DNS_RTYPE_DS 0x2b00 // 43 | | #define DNS_RTYPE_DS 0x2b00 // 43 |
| #define DNS_RTYPE_RRSIG 0x2e00 // 46 | | #define DNS_RTYPE_RRSIG 0x2e00 // 46 |
| #define DNS_RTYPE_NSEC 0x2f00 // 47 | | #define DNS_RTYPE_NSEC 0x2f00 // 47 |
| #define DNS_RTYPE_DNSKEY 0x3000 // 48 | | #define DNS_RTYPE_DNSKEY 0x3000 // 48 |
| #define DNS_RTYPE_DHCID 0x3100 // 49 | | #define DNS_RTYPE_DHCID 0x3100 // 49 |
| | #define DNS_RTYPE_NSEC3 0x3200 // 50 |
| | #define DNS_RTYPE_NSEC3PARAM 0x3300 // 51 |
| | |
| // | | // |
| // IANA Reserved | | // IANA Reserved |
| // | | // |
| | |
|
| #define DNS_RTYPE_UINFO 0x6400 // 100 | | #define DNS_RTYPE_UINFO 0x6400 // 100 |
| #define DNS_RTYPE_UID 0x6500 // 101 | | #define DNS_RTYPE_UID 0x6500 // 101 |
| #define DNS_RTYPE_GID 0x6600 // 102 | | #define DNS_RTYPE_GID 0x6600 // 102 |
| #define DNS_RTYPE_UNSPEC 0x6700 // 103 | | #define DNS_RTYPE_UNSPEC 0x6700 // 103 |
| | |
| // | | // |
| // Query only types | | // Query only types |
| // | | // |
| | |
|
| #define DNS_RTYPE_TKEY 0xf900 // 249 | | #define DNS_RTYPE_TKEY 0xf900 // 249 |
| #define DNS_RTYPE_TSIG 0xfa00 // 250 | | #define DNS_RTYPE_TSIG 0xfa00 // 250 |
| #define DNS_RTYPE_IXFR 0xfb00 // 251 | | #define DNS_RTYPE_IXFR 0xfb00 // 251 |
| #define DNS_RTYPE_AXFR 0xfc00 // 252 | | #define DNS_RTYPE_AXFR 0xfc00 // 252 |
| #define DNS_RTYPE_MAILB 0xfd00 // 253 | | #define DNS_RTYPE_MAILB 0xfd00 // 253 |
| #define DNS_RTYPE_MAILA 0xfe00 // 254 | | #define DNS_RTYPE_MAILA 0xfe00 // 254 |
| #define DNS_RTYPE_ALL 0xff00 // 255 | | #define DNS_RTYPE_ALL 0xff00 // 255 |
| #define DNS_RTYPE_ANY 0xff00 // 255 | | #define DNS_RTYPE_ANY 0xff00 // 255 |
| | |
| // | | // |
|
| // Temp Microsoft types -- use until get IANA approval for real type | | // Private use Microsoft types -- See www.iana.org/assignments/dns-parameters |
| // | | // |
| | |
|
| #define DNS_RTYPE_WINS 0x01ff // 64K - 255 | | #define DNS_RTYPE_WINS 0x01ff // 64K - 255 |
| #define DNS_RTYPE_WINSR 0x02ff // 64K - 254 | | #define DNS_RTYPE_WINSR 0x02ff // 64K - 254 |
| // | | // |
| // Record type specific definitions | | // Record type specific definitions |
| // | | // |
| | |
| // | | // |
| // ATMA (ATM address type) formats | | // ATMA (ATM address type) formats |
| // | | // |
| // Define these directly for any environment (ex NT4) | | // Define these directly for any environment (ex NT4) |
| // without winsock2 ATM support (ws2atm.h) | | // without winsock2 ATM support (ws2atm.h) |
| // | | // |
| | |
| skipping to change at line 682 | | skipping to change at line 756 |
| | |
| #define DNS_ATMA_AESA_ADDR_LENGTH (20) | | #define DNS_ATMA_AESA_ADDR_LENGTH (20) |
| #define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1) | | #define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1) |
| | |
| // | | // |
| // DNSSEC defs | | // DNSSEC defs |
| // | | // |
| | |
| // DNSSEC algorithms | | // DNSSEC algorithms |
| | |
|
| #define DNSSEC_ALGORITHM_RSAMD5 1 | | #define DNSSEC_ALGORITHM_RSAMD5 1 |
| #define DNSSEC_ALGORITHM_RSASHA1 5 | | #define DNSSEC_ALGORITHM_RSASHA1 5 |
| #define DNSSEC_ALGORITHM_NULL 253 | | #define DNSSEC_ALGORITHM_RSASHA1_NSEC3 7 |
| #define DNSSEC_ALGORITHM_PRIVATE 254 | | #define DNSSEC_ALGORITHM_RSASHA256 8 |
| | #define DNSSEC_ALGORITHM_RSASHA512 10 |
| | #define DNSSEC_ALGORITHM_ECDSAP256_SHA256 13 |
| | #define DNSSEC_ALGORITHM_ECDSAP384_SHA384 14 |
| | #define DNSSEC_ALGORITHM_NULL 253 |
| | #define DNSSEC_ALGORITHM_PRIVATE 254 |
| | |
| | // DNSSEC DS record digest algorithms |
| | |
| | #define DNSSEC_DIGEST_ALGORITHM_SHA1 1 |
| | #define DNSSEC_DIGEST_ALGORITHM_SHA256 2 |
| | #define DNSSEC_DIGEST_ALGORITHM_SHA384 4 |
| | |
| // DNSSEC KEY protocol table | | // DNSSEC KEY protocol table |
| | |
| #define DNSSEC_PROTOCOL_NONE 0 | | #define DNSSEC_PROTOCOL_NONE 0 |
| #define DNSSEC_PROTOCOL_TLS 1 | | #define DNSSEC_PROTOCOL_TLS 1 |
| #define DNSSEC_PROTOCOL_EMAIL 2 | | #define DNSSEC_PROTOCOL_EMAIL 2 |
| #define DNSSEC_PROTOCOL_DNSSEC 3 | | #define DNSSEC_PROTOCOL_DNSSEC 3 |
| #define DNSSEC_PROTOCOL_IPSEC 4 | | #define DNSSEC_PROTOCOL_IPSEC 4 |
| | |
| // DNSSEC KEY flag field | | // DNSSEC KEY flag field |
| | |
| skipping to change at line 818 | | skipping to change at line 903 |
| | |
| // | | // |
| // DNS_CONFIG_FLAG_ALLOC -- Causes config info to be allocated. | | // DNS_CONFIG_FLAG_ALLOC -- Causes config info to be allocated. |
| // Free with LocalFree(). | | // Free with LocalFree(). |
| // | | // |
| #define DNS_CONFIG_FLAG_ALLOC (0x00000001) | | #define DNS_CONFIG_FLAG_ALLOC (0x00000001) |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsQueryConfig( | | DnsQueryConfig( |
|
| __in DNS_CONFIG_TYPE Config, | | _In_ DNS_CONFIG_TYPE Config, |
| __in DWORD Flag, | | _In_ DWORD Flag, |
| __in_opt PCWSTR pwsAdapterName, | | _In_opt_ PCWSTR pwsAdapterName |
| __in_opt PVOID pReserved, | | , |
| __out_bcount_part(*pBufLen, *pBufLen) PVOID pBuffer, | | _In_opt_ PVOID pReserved, |
| __inout PDWORD pBufLen | | _Out_writes_bytes_to_opt_(*pBufLen, *pBufLen) PVOID pBuffer, |
| | _Inout_ PDWORD pBufLen |
| ); | | ); |
| // | | // |
| // DNS resource record structure | | // DNS resource record structure |
| // | | // |
| | |
| // | | // |
| // Record data for specific types | | // Record data for specific types |
| // | | // |
| | |
| typedef struct | | typedef struct |
| | |
| skipping to change at line 963 | | skipping to change at line 1048 |
| { | | { |
| WORD wTypeCovered; | | WORD wTypeCovered; |
| BYTE chAlgorithm; | | BYTE chAlgorithm; |
| BYTE chLabelCount; | | BYTE chLabelCount; |
| DWORD dwOriginalTtl; | | DWORD dwOriginalTtl; |
| DWORD dwExpiration; | | DWORD dwExpiration; |
| DWORD dwTimeSigned; | | DWORD dwTimeSigned; |
| WORD wKeyTag; | | WORD wKeyTag; |
| WORD wSignatureLength; | | WORD wSignatureLength; |
| PWSTR pNameSigner; | | PWSTR pNameSigner; |
|
| | #ifdef MIDL_PASS |
| | [size_is(wSignatureLength)] BYTE Signature[]; |
| | #else |
| BYTE Signature[1]; | | BYTE Signature[1]; |
|
| | #endif |
| } | | } |
| DNS_SIG_DATAW, *PDNS_SIG_DATAW, DNS_RRSIG_DATAW, *PDNS_RRSIG_DATAW; | | DNS_SIG_DATAW, *PDNS_SIG_DATAW, DNS_RRSIG_DATAW, *PDNS_RRSIG_DATAW; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| WORD wTypeCovered; | | WORD wTypeCovered; |
| BYTE chAlgorithm; | | BYTE chAlgorithm; |
| BYTE chLabelCount; | | BYTE chLabelCount; |
| DWORD dwOriginalTtl; | | DWORD dwOriginalTtl; |
| DWORD dwExpiration; | | DWORD dwExpiration; |
| DWORD dwTimeSigned; | | DWORD dwTimeSigned; |
| WORD wKeyTag; | | WORD wKeyTag; |
| WORD wSignatureLength; | | WORD wSignatureLength; |
| PSTR pNameSigner; | | PSTR pNameSigner; |
|
| | #ifdef MIDL_PASS |
| | [size_is(wSignatureLength)] BYTE Signature[]; |
| | #else |
| BYTE Signature[1]; | | BYTE Signature[1]; |
|
| | #endif |
| } | | } |
| DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA; | | DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| WORD wFlags; | | WORD wFlags; |
| BYTE chProtocol; | | BYTE chProtocol; |
| BYTE chAlgorithm; | | BYTE chAlgorithm; |
| WORD wKeyLength; | | WORD wKeyLength; |
| WORD wPad; // keep byte field aligned | | WORD wPad; // keep byte field aligned |
|
| | #ifdef MIDL_PASS |
| | [size_is(wKeyLength)] BYTE Key[]; |
| | #else |
| BYTE Key[1]; | | BYTE Key[1]; |
|
| | #endif |
| } | | } |
| DNS_KEY_DATA, *PDNS_KEY_DATA, DNS_DNSKEY_DATA, *PDNS_DNSKEY_DATA; | | DNS_KEY_DATA, *PDNS_KEY_DATA, DNS_DNSKEY_DATA, *PDNS_DNSKEY_DATA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| DWORD dwByteCount; | | DWORD dwByteCount; |
| #ifdef MIDL_PASS | | #ifdef MIDL_PASS |
| [size_is(dwByteCount)] BYTE DHCID[]; | | [size_is(dwByteCount)] BYTE DHCID[]; |
| #else | | #else |
| BYTE DHCID[1]; | | BYTE DHCID[1]; |
| #endif | | #endif |
| } | | } |
| DNS_DHCID_DATA, *PDNS_DHCID_DATA; | | DNS_DHCID_DATA, *PDNS_DHCID_DATA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| PWSTR pNextDomainName; | | PWSTR pNextDomainName; |
| WORD wTypeBitMapsLength; | | WORD wTypeBitMapsLength; |
| WORD wPad; // keep byte field aligned | | WORD wPad; // keep byte field aligned |
|
| | #ifdef MIDL_PASS |
| | [size_is(wTypeBitMapsLength)] BYTE TypeBitMaps[]; |
| | #else |
| BYTE TypeBitMaps[1]; | | BYTE TypeBitMaps[1]; |
|
| | #endif |
| } | | } |
| DNS_NSEC_DATAW, *PDNS_NSEC_DATAW; | | DNS_NSEC_DATAW, *PDNS_NSEC_DATAW; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| PSTR pNextDomainName; | | PSTR pNextDomainName; |
| WORD wTypeBitMapsLength; | | WORD wTypeBitMapsLength; |
| WORD wPad; // keep byte field aligned | | WORD wPad; // keep byte field aligned |
|
| | #ifdef MIDL_PASS |
| | [size_is(wTypeBitMapsLength)] BYTE TypeBitMaps[]; |
| | #else |
| BYTE TypeBitMaps[1]; | | BYTE TypeBitMaps[1]; |
|
| | #endif |
| } | | } |
| DNS_NSEC_DATAA, *PDNS_NSEC_DATAA; | | DNS_NSEC_DATAA, *PDNS_NSEC_DATAA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
|
| | BYTE chAlgorithm; |
| | BYTE bFlags; |
| | WORD wIterations; |
| | BYTE bSaltLength; |
| | BYTE bHashLength; |
| | WORD wTypeBitMapsLength; |
| | #ifdef MIDL_PASS |
| | [size_is(bSaltLength+bHashLength+wTypeBitMapsLength)] BYTE chData[]; |
| | #else |
| | BYTE chData[1]; |
| | #endif |
| | } |
| | DNS_NSEC3_DATA, *PDNS_NSEC3_DATA; |
| | |
| | typedef struct |
| | { |
| | BYTE chAlgorithm; |
| | BYTE bFlags; |
| | WORD wIterations; |
| | BYTE bSaltLength; |
| | BYTE bPad[3]; // keep salt field aligned |
| | #ifdef MIDL_PASS |
| | [size_is(bSaltLength)] BYTE pbSalt[]; |
| | #else |
| | BYTE pbSalt[1]; |
| | #endif |
| | } |
| | DNS_NSEC3PARAM_DATA, *PDNS_NSEC3PARAM_DATA; |
| | |
| | typedef struct |
| | { |
| WORD wKeyTag; | | WORD wKeyTag; |
| BYTE chAlgorithm; | | BYTE chAlgorithm; |
| BYTE chDigestType; | | BYTE chDigestType; |
| WORD wDigestLength; | | WORD wDigestLength; |
| WORD wPad; // keep byte field aligned | | WORD wPad; // keep byte field aligned |
|
| | #ifdef MIDL_PASS |
| | [size_is(wDigestLength)] BYTE Digest[]; |
| | #else |
| BYTE Digest[1]; | | BYTE Digest[1]; |
|
| | #endif |
| } | | } |
| DNS_DS_DATA, *PDNS_DS_DATA; | | DNS_DS_DATA, *PDNS_DS_DATA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| WORD wDataLength; | | WORD wDataLength; |
| WORD wPad; // keep byte field aligned | | WORD wPad; // keep byte field aligned |
|
| | #ifdef MIDL_PASS |
| | [size_is(wDataLength)] BYTE Data[]; |
| | #else |
| BYTE Data[1]; | | BYTE Data[1]; |
|
| | #endif |
| } | | } |
| DNS_OPT_DATA, *PDNS_OPT_DATA; | | DNS_OPT_DATA, *PDNS_OPT_DATA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| WORD wVersion; | | WORD wVersion; |
| WORD wSize; | | WORD wSize; |
| WORD wHorPrec; | | WORD wHorPrec; |
| WORD wVerPrec; | | WORD wVerPrec; |
| DWORD dwLatitude; | | DWORD dwLatitude; |
| DWORD dwLongitude; | | DWORD dwLongitude; |
| DWORD dwAltitude; | | DWORD dwAltitude; |
| } | | } |
| DNS_LOC_DATA, *PDNS_LOC_DATA; | | DNS_LOC_DATA, *PDNS_LOC_DATA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| PWSTR pNameNext; | | PWSTR pNameNext; |
| WORD wNumTypes; | | WORD wNumTypes; |
|
| | #ifdef MIDL_PASS |
| | [size_is(wNumTypes)] WORD wTypes[]; |
| | #else |
| WORD wTypes[1]; | | WORD wTypes[1]; |
|
| | #endif |
| } | | } |
| DNS_NXT_DATAW, *PDNS_NXT_DATAW; | | DNS_NXT_DATAW, *PDNS_NXT_DATAW; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| PSTR pNameNext; | | PSTR pNameNext; |
| WORD wNumTypes; | | WORD wNumTypes; |
|
| | #ifdef MIDL_PASS |
| | [size_is(wNumTypes)] WORD wTypes[]; |
| | #else |
| WORD wTypes[1]; | | WORD wTypes[1]; |
|
| | #endif |
| } | | } |
| DNS_NXT_DATAA, *PDNS_NXT_DATAA; | | DNS_NXT_DATAA, *PDNS_NXT_DATAA; |
| | |
| typedef struct | | typedef struct |
| { | | { |
| PWSTR pNameTarget; | | PWSTR pNameTarget; |
| WORD wPriority; | | WORD wPriority; |
| WORD wWeight; | | WORD wWeight; |
| WORD wPort; | | WORD wPort; |
| WORD Pad; // keep ptrs DWORD aligned | | WORD Pad; // keep ptrs DWORD aligned |
| | |
| skipping to change at line 1294 | | skipping to change at line 1446 |
| | |
| #define DNS_DS_RECORD_LENGTH(ByteCount) \ | | #define DNS_DS_RECORD_LENGTH(ByteCount) \ |
| (FIELD_OFFSET(DNS_DS_DATA, Digest) + (ByteCount)) | | (FIELD_OFFSET(DNS_DS_DATA, Digest) + (ByteCount)) |
| | |
| #define DNS_OPT_RECORD_LENGTH(ByteCount) \ | | #define DNS_OPT_RECORD_LENGTH(ByteCount) \ |
| (FIELD_OFFSET(DNS_OPT_DATA, Data) + (ByteCount)) | | (FIELD_OFFSET(DNS_OPT_DATA, Data) + (ByteCount)) |
| | |
| #define DNS_DHCID_RECORD_LENGTH(ByteCount) \ | | #define DNS_DHCID_RECORD_LENGTH(ByteCount) \ |
| (FIELD_OFFSET(DNS_DHCID_DATA, DHCID) + (ByteCount)) | | (FIELD_OFFSET(DNS_DHCID_DATA, DHCID) + (ByteCount)) |
| | |
|
| | #define DNS_NSEC3_RECORD_LENGTH(ByteCount) \ |
| | (FIELD_OFFSET(DNS_NSEC3_DATA, chData) + (ByteCount)) |
| | |
| | #define DNS_NSEC3PARAM_RECORD_LENGTH(ByteCount) \ |
| | (FIELD_OFFSET(DNS_NSEC3PARAM_DATA, pbSalt) + (ByteCount)) |
| | |
| // | | // |
| // Record flags | | // Record flags |
| // | | // |
| | |
| typedef struct _DnsRecordFlags | | typedef struct _DnsRecordFlags |
| { | | { |
| DWORD Section : 2; | | DWORD Section : 2; |
| DWORD Delete : 1; | | DWORD Delete : 1; |
| DWORD CharSet : 2; | | DWORD CharSet : 2; |
| DWORD Unused : 3; | | DWORD Unused : 3; |
| | |
| skipping to change at line 1373 | | skipping to change at line 1531 |
| // | | // |
| | |
| #ifdef MIDL_PASS | | #ifdef MIDL_PASS |
| | |
| #define PDNS_RECORD PVOID | | #define PDNS_RECORD PVOID |
| #define PDNS_RECORDA PVOID | | #define PDNS_RECORDA PVOID |
| #define PDNS_RECORDW PVOID | | #define PDNS_RECORDW PVOID |
| | |
| #else | | #else |
| | |
|
| typedef struct _DnsRecordW | | typedef _Struct_size_bytes_(FIELD_OFFSET(struct _DnsRecordW, Data) + wDataLength
) struct _DnsRecordW |
| { | | { |
| struct _DnsRecordW * pNext; | | struct _DnsRecordW * pNext; |
| PWSTR pName; | | PWSTR pName; |
| WORD wType; | | WORD wType; |
| WORD wDataLength; // Not referenced for DNS record typ
es | | WORD wDataLength; // Not referenced for DNS record typ
es |
| // defined above. | | // defined above. |
| union | | union |
| { | | { |
| DWORD DW; // flags as DWORD | | DWORD DW; // flags as DWORD |
| DNS_RECORD_FLAGS S; // flags as structure | | DNS_RECORD_FLAGS S; // flags as structure |
| | |
| skipping to change at line 1433 | | skipping to change at line 1591 |
| DNS_OPT_DATA OPT, Opt; | | DNS_OPT_DATA OPT, Opt; |
| DNS_DS_DATA DS, Ds; | | DNS_DS_DATA DS, Ds; |
| DNS_RRSIG_DATAW RRSIG, Rrsig; | | DNS_RRSIG_DATAW RRSIG, Rrsig; |
| DNS_NSEC_DATAW NSEC, Nsec; | | DNS_NSEC_DATAW NSEC, Nsec; |
| DNS_DNSKEY_DATA DNSKEY, Dnskey; | | DNS_DNSKEY_DATA DNSKEY, Dnskey; |
| DNS_TKEY_DATAW TKEY, Tkey; | | DNS_TKEY_DATAW TKEY, Tkey; |
| DNS_TSIG_DATAW TSIG, Tsig; | | DNS_TSIG_DATAW TSIG, Tsig; |
| DNS_WINS_DATA WINS, Wins; | | DNS_WINS_DATA WINS, Wins; |
| DNS_WINSR_DATAW WINSR, WinsR, NBSTAT, Nbstat; | | DNS_WINSR_DATAW WINSR, WinsR, NBSTAT, Nbstat; |
| DNS_DHCID_DATA DHCID; | | DNS_DHCID_DATA DHCID; |
|
| | DNS_NSEC3_DATA NSEC3, Nsec3; |
| | DNS_NSEC3PARAM_DATA NSEC3PARAM, Nsec3Param; |
| | PBYTE pDataPtr; |
| | |
| } Data; | | } Data; |
| } | | } |
| DNS_RECORDW, *PDNS_RECORDW; | | DNS_RECORDW, *PDNS_RECORDW; |
| | |
| typedef struct _DnsRecordOptW | | typedef struct _DnsRecordOptW |
| { | | { |
| struct _DnsRecordW * pNext; | | struct _DnsRecordW * pNext; |
| PWSTR pName; | | PWSTR pName; |
| WORD wType; | | WORD wType; |
| | |
| skipping to change at line 1465 | | skipping to change at line 1626 |
| | |
| // Record Data | | // Record Data |
| union | | union |
| { | | { |
| DNS_OPT_DATA OPT, Opt; | | DNS_OPT_DATA OPT, Opt; |
| | |
| } Data; | | } Data; |
| } | | } |
| DNS_RECORD_OPTW, *PDNS_RECORD_OPTW; | | DNS_RECORD_OPTW, *PDNS_RECORD_OPTW; |
| | |
|
| typedef struct _DnsRecordA | | typedef _Struct_size_bytes_(FIELD_OFFSET(struct _DnsRecordA, Data) + wDataLength
) struct _DnsRecordA |
| { | | { |
| struct _DnsRecordA * pNext; | | struct _DnsRecordA * pNext; |
| PSTR pName; | | PSTR pName; |
| WORD wType; | | WORD wType; |
| WORD wDataLength; // Not referenced for DNS record types | | WORD wDataLength; // Not referenced for DNS record types |
| // defined above. | | // defined above. |
| union | | union |
| { | | { |
| DWORD DW; // flags as DWORD | | DWORD DW; // flags as DWORD |
| DNS_RECORD_FLAGS S; // flags as structure | | DNS_RECORD_FLAGS S; // flags as structure |
| | |
| skipping to change at line 1525 | | skipping to change at line 1686 |
| DNS_OPT_DATA OPT, Opt; | | DNS_OPT_DATA OPT, Opt; |
| DNS_DS_DATA DS, Ds; | | DNS_DS_DATA DS, Ds; |
| DNS_RRSIG_DATAA RRSIG, Rrsig; | | DNS_RRSIG_DATAA RRSIG, Rrsig; |
| DNS_NSEC_DATAA NSEC, Nsec; | | DNS_NSEC_DATAA NSEC, Nsec; |
| DNS_DNSKEY_DATA DNSKEY, Dnskey; | | DNS_DNSKEY_DATA DNSKEY, Dnskey; |
| DNS_TKEY_DATAA TKEY, Tkey; | | DNS_TKEY_DATAA TKEY, Tkey; |
| DNS_TSIG_DATAA TSIG, Tsig; | | DNS_TSIG_DATAA TSIG, Tsig; |
| DNS_WINS_DATA WINS, Wins; | | DNS_WINS_DATA WINS, Wins; |
| DNS_WINSR_DATAA WINSR, WinsR, NBSTAT, Nbstat; | | DNS_WINSR_DATAA WINSR, WinsR, NBSTAT, Nbstat; |
| DNS_DHCID_DATA DHCID; | | DNS_DHCID_DATA DHCID; |
|
| | DNS_NSEC3_DATA NSEC3, Nsec3; |
| | DNS_NSEC3PARAM_DATA NSEC3PARAM, Nsec3Param; |
| | PBYTE pDataPtr; |
| | |
| } Data; | | } Data; |
| } | | } |
| DNS_RECORDA, *PDNS_RECORDA; | | DNS_RECORDA, *PDNS_RECORDA; |
| | |
| typedef struct _DnsRecordOptA | | typedef struct _DnsRecordOptA |
| { | | { |
| struct _DnsRecordA * pNext; | | struct _DnsRecordA * pNext; |
| PSTR pName; | | PSTR pName; |
| WORD wType; | | WORD wType; |
| | |
| skipping to change at line 1632 | | skipping to change at line 1796 |
| | |
| #define DNS_RRSET_TERMINATE( rrset ) \ | | #define DNS_RRSET_TERMINATE( rrset ) \ |
| { \ | | { \ |
| PDNS_RRSET _prrset = &(rrset); \ | | PDNS_RRSET _prrset = &(rrset); \ |
| _prrset->pLastRR->pNext = NULL; \ | | _prrset->pLastRR->pNext = NULL; \ |
| } | | } |
| | |
| typedef | | typedef |
| VOID | | VOID |
| (WINAPI *DNS_PROXY_COMPLETION_ROUTINE) ( | | (WINAPI *DNS_PROXY_COMPLETION_ROUTINE) ( |
|
| __in_opt void *completionContext, | | _In_opt_ void *completionContext, |
| __in DNS_STATUS status); | | _In_ DNS_STATUS status); |
| | |
| typedef enum DNS_PROXY_INFORMATION_TYPE { | | typedef enum DNS_PROXY_INFORMATION_TYPE { |
| DNS_PROXY_INFORMATION_DIRECT, | | DNS_PROXY_INFORMATION_DIRECT, |
| DNS_PROXY_INFORMATION_DEFAULT_SETTINGS, | | DNS_PROXY_INFORMATION_DEFAULT_SETTINGS, |
| DNS_PROXY_INFORMATION_PROXY_NAME, | | DNS_PROXY_INFORMATION_PROXY_NAME, |
| DNS_PROXY_INFORMATION_DOES_NOT_EXIST | | DNS_PROXY_INFORMATION_DOES_NOT_EXIST |
| } DNS_PROXY_INFORMATION_TYPE; | | } DNS_PROXY_INFORMATION_TYPE; |
| | |
| typedef struct DNS_PROXY_INFORMATION { | | typedef struct DNS_PROXY_INFORMATION { |
|
| __in ULONG version; // Current version is 1 | | _In_ ULONG version; // Current version is 1 |
| __out DNS_PROXY_INFORMATION_TYPE proxyInformationType; | | _Out_ DNS_PROXY_INFORMATION_TYPE proxyInformationType; |
| __out_opt PWSTR proxyName; | | _Out_opt_ PWSTR proxyName; |
| } DNS_PROXY_INFORMATION; | | } DNS_PROXY_INFORMATION; |
| | |
| // | | // |
| // Record set manipulation | | // Record set manipulation |
| // | | // |
| | |
| // | | // |
| // Record Copy | | // Record Copy |
| // Record copy functions also do conversion between character sets. | | // Record copy functions also do conversion between character sets. |
| // | | // |
| | |
| skipping to change at line 1673 | | skipping to change at line 1837 |
| DnsCharSetUnknown, | | DnsCharSetUnknown, |
| DnsCharSetUnicode, | | DnsCharSetUnicode, |
| DnsCharSetUtf8, | | DnsCharSetUtf8, |
| DnsCharSetAnsi, | | DnsCharSetAnsi, |
| } | | } |
| DNS_CHARSET; | | DNS_CHARSET; |
| | |
| PDNS_RECORD | | PDNS_RECORD |
| WINAPI | | WINAPI |
| DnsRecordCopyEx( | | DnsRecordCopyEx( |
|
| __in PDNS_RECORD pRecord, | | _In_ PDNS_RECORD pRecord, |
| __in DNS_CHARSET CharSetIn, | | _In_ DNS_CHARSET CharSetIn, |
| __in DNS_CHARSET CharSetOut | | _In_ DNS_CHARSET CharSetOut |
| ); | | ); |
| | |
| PDNS_RECORD | | PDNS_RECORD |
| WINAPI | | WINAPI |
| DnsRecordSetCopyEx( | | DnsRecordSetCopyEx( |
|
| __in PDNS_RECORD pRecordSet, | | _In_ PDNS_RECORD pRecordSet, |
| __in DNS_CHARSET CharSetIn, | | _In_ DNS_CHARSET CharSetIn, |
| __in DNS_CHARSET CharSetOut | | _In_ DNS_CHARSET CharSetOut |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsRecordCopy(pRR) \ | | #define DnsRecordCopy(pRR) \ |
| DnsRecordCopyEx( (pRR), DnsCharSetUnicode, DnsCharSetUnicode ) | | DnsRecordCopyEx( (pRR), DnsCharSetUnicode, DnsCharSetUnicode ) |
| #define DnsRecordSetCopy(pRR) \ | | #define DnsRecordSetCopy(pRR) \ |
| DnsRecordSetCopyEx( (pRR), DnsCharSetUnicode, DnsCharSetUnicode ) | | DnsRecordSetCopyEx( (pRR), DnsCharSetUnicode, DnsCharSetUnicode ) |
| #else | | #else |
| #define DnsRecordCopy(pRR) \ | | #define DnsRecordCopy(pRR) \ |
| DnsRecordCopyEx( (pRR), DnsCharSetAnsi, DnsCharSetAnsi ) | | DnsRecordCopyEx( (pRR), DnsCharSetAnsi, DnsCharSetAnsi ) |
| | |
| skipping to change at line 1711 | | skipping to change at line 1875 |
| // Note: these routines only compare records of the SAME character set. | | // Note: these routines only compare records of the SAME character set. |
| // (ANSI, unicode or UTF8). Furthermore the routines assume the character | | // (ANSI, unicode or UTF8). Furthermore the routines assume the character |
| // set is indicated within the record. If compare of user created, rather | | // set is indicated within the record. If compare of user created, rather |
| // than DNS API created record lists is desired, then caller should use | | // than DNS API created record lists is desired, then caller should use |
| // DnsRecordCopy API and compare copies. | | // DnsRecordCopy API and compare copies. |
| // | | // |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsRecordCompare( | | DnsRecordCompare( |
|
| __in PDNS_RECORD pRecord1, | | _In_ PDNS_RECORD pRecord1, |
| __in PDNS_RECORD pRecord2 | | _In_ PDNS_RECORD pRecord2 |
| ); | | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsRecordSetCompare( | | DnsRecordSetCompare( |
|
| __inout PDNS_RECORD pRR1, | | _Inout_ PDNS_RECORD pRR1, |
| __inout PDNS_RECORD pRR2, | | _Inout_ PDNS_RECORD pRR2, |
| __deref_opt_out_opt PDNS_RECORD * ppDiff1, | | _Outptr_opt_result_maybenull_ PDNS_RECORD * ppDiff1, |
| __deref_opt_out_opt PDNS_RECORD * ppDiff2 | | _Outptr_opt_result_maybenull_ PDNS_RECORD * ppDiff2 |
| ); | | ); |
| | |
| // | | // |
| // Detach next record set from record list | | // Detach next record set from record list |
| // | | // |
| | |
| PDNS_RECORD | | PDNS_RECORD |
| DnsRecordSetDetach( | | DnsRecordSetDetach( |
|
| __inout PDNS_RECORD pRecordList | | _Inout_ PDNS_RECORD pRecordList |
| ); | | ); |
| | |
| // | | // |
| // Free structures returned from dnsapi.dll | | // Free structures returned from dnsapi.dll |
| // | | // |
| // Currently supported free structures: | | // Currently supported free structures: |
| // Flat -- flat structure, including those allocated by DnsQueryConfig() | | // Flat -- flat structure, including those allocated by DnsQueryConfig() |
| // RecordList -- deep record list free, including sub-fields of DNS_RECORD; | | // RecordList -- deep record list free, including sub-fields of DNS_RECORD; |
| // includes those returned by DnsQuery() or DnsRecordSetCopy() | | // includes those returned by DnsQuery() or DnsRecordSetCopy() |
| // | | // |
| | |
| skipping to change at line 1753 | | skipping to change at line 1917 |
| { | | { |
| DnsFreeFlat = 0, | | DnsFreeFlat = 0, |
| DnsFreeRecordList, | | DnsFreeRecordList, |
| DnsFreeParsedMessageFields | | DnsFreeParsedMessageFields |
| } | | } |
| DNS_FREE_TYPE; | | DNS_FREE_TYPE; |
| | |
| VOID | | VOID |
| WINAPI | | WINAPI |
| DnsFree( | | DnsFree( |
|
| __inout PVOID pData, | | _Pre_opt_valid_ _Frees_ptr_opt_ PVOID pData, |
| __in DNS_FREE_TYPE FreeType | | _In_ DNS_FREE_TYPE FreeType |
| ); | | ); |
| | |
| // | | // |
| // Backward compatibility with Win2K, do not use for XP+ applications | | // Backward compatibility with Win2K, do not use for XP+ applications |
| // | | // |
| // To free record lists, code | | // To free record lists, code |
| // DnsFree( pRecordList, DnsFreeRecordList ); | | // DnsFree( pRecordList, DnsFreeRecordList ); |
| // | | // |
| | |
| #define DnsFreeRecordListDeep DnsFreeRecordList | | #define DnsFreeRecordListDeep DnsFreeRecordList |
| | |
| #if(_WIN32_WINNT >= 0x0501) | | #if(_WIN32_WINNT >= 0x0501) |
| #define DnsRecordListFree(p,t) DnsFree(p,DnsFreeRecordList) | | #define DnsRecordListFree(p,t) DnsFree(p,DnsFreeRecordList) |
| #else | | #else |
| VOID | | VOID |
| WINAPI | | WINAPI |
| DnsRecordListFree( | | DnsRecordListFree( |
|
| __inout_opt PDNS_RECORD pRecordList, | | _Inout_opt_ PDNS_RECORD pRecordList, |
| __in DNS_FREE_TYPE FreeType | | _In_ DNS_FREE_TYPE FreeType |
| ); | | ); |
| #endif /* _WIN32_WINNT >= 0x0501 */ | | #endif /* _WIN32_WINNT >= 0x0501 */ |
| // | | // |
| // DNS Query API | | // DNS Query API |
| // | | // |
| | |
| // | | // |
| // Options for DnsQuery | | // Options for DnsQuery |
| // | | // |
| | |
| | |
| skipping to change at line 1789 | | skipping to change at line 1953 |
| | |
| // | | // |
| // Options for DnsQuery | | // Options for DnsQuery |
| // | | // |
| | |
| #define DNS_QUERY_STANDARD 0x00000000 | | #define DNS_QUERY_STANDARD 0x00000000 |
| #define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001 | | #define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001 |
| #define DNS_QUERY_USE_TCP_ONLY 0x00000002 | | #define DNS_QUERY_USE_TCP_ONLY 0x00000002 |
| #define DNS_QUERY_NO_RECURSION 0x00000004 | | #define DNS_QUERY_NO_RECURSION 0x00000004 |
| #define DNS_QUERY_BYPASS_CACHE 0x00000008 | | #define DNS_QUERY_BYPASS_CACHE 0x00000008 |
|
| | | |
| #define DNS_QUERY_NO_WIRE_QUERY 0x00000010 | | #define DNS_QUERY_NO_WIRE_QUERY 0x00000010 |
| #define DNS_QUERY_NO_LOCAL_NAME 0x00000020 | | #define DNS_QUERY_NO_LOCAL_NAME 0x00000020 |
| #define DNS_QUERY_NO_HOSTS_FILE 0x00000040 | | #define DNS_QUERY_NO_HOSTS_FILE 0x00000040 |
| #define DNS_QUERY_NO_NETBT 0x00000080 | | #define DNS_QUERY_NO_NETBT 0x00000080 |
|
| | | |
| #define DNS_QUERY_WIRE_ONLY 0x00000100 | | #define DNS_QUERY_WIRE_ONLY 0x00000100 |
| #define DNS_QUERY_RETURN_MESSAGE 0x00000200 | | #define DNS_QUERY_RETURN_MESSAGE 0x00000200 |
|
| | | |
| #define DNS_QUERY_MULTICAST_ONLY 0x00000400 | | #define DNS_QUERY_MULTICAST_ONLY 0x00000400 |
| #define DNS_QUERY_NO_MULTICAST 0x00000800 | | #define DNS_QUERY_NO_MULTICAST 0x00000800 |
|
| | | |
| #define DNS_QUERY_TREAT_AS_FQDN 0x00001000 | | #define DNS_QUERY_TREAT_AS_FQDN 0x00001000 |
|
| #define DNS_QUERY_APPEND_MULTILABEL 0x00800000 | | #define DNS_QUERY_ADDRCONFIG 0x00002000 |
| | | #define DNS_QUERY_DUAL_ADDR 0x00004000 |
| #define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000 | | #define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000 |
|
| | #define DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000 |
| | #define DNS_QUERY_APPEND_MULTILABEL 0x00800000 |
| | #define DNS_QUERY_DNSSEC_OK 0x01000000 |
| | #define DNS_QUERY_DNSSEC_CHECKING_DISABLED 0x02000000 |
| #define DNS_QUERY_RESERVED 0xf0000000 | | #define DNS_QUERY_RESERVED 0xf0000000 |
| | |
| // Backward compatibility with Win2K | | // Backward compatibility with Win2K |
| // Do not use | | // Do not use |
| | |
| #define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY | | #define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsQuery_A( | | DnsQuery_A( |
|
| __in PCSTR pszName, | | _In_ PCSTR pszName, |
| __in WORD wType, | | _In_ WORD wType, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __inout_opt PVOID pExtra, | | _Inout_opt_ PVOID pExtra, |
| __deref_out_opt PDNS_RECORD * ppQueryResults, | | _Outptr_result_maybenull_ PDNS_RECORD * ppQueryResults, |
| __deref_opt_out_opt PVOID * pReserved | | _Outptr_opt_result_maybenull_ PVOID * pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsQuery_UTF8( | | DnsQuery_UTF8( |
|
| __in PCSTR pszName, | | _In_ PCSTR pszName, |
| __in WORD wType, | | _In_ WORD wType, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __inout_opt PVOID pExtra, | | _Inout_opt_ PVOID pExtra, |
| __deref_out_opt PDNS_RECORD * ppQueryResults, | | _Outptr_result_maybenull_ PDNS_RECORD * ppQueryResults, |
| __deref_opt_out_opt PVOID * pReserved | | _Outptr_opt_result_maybenull_ PVOID * pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsQuery_W( | | DnsQuery_W( |
|
| __in PCWSTR pszName, | | _In_ PCWSTR pszName, |
| __in WORD wType, | | _In_ WORD wType, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __inout_opt PVOID pExtra, | | _Inout_opt_ PVOID pExtra, |
| __deref_out_opt PDNS_RECORD * ppQueryResults, | | _Outptr_result_maybenull_ PDNS_RECORD * ppQueryResults, |
| __deref_opt_out_opt PVOID * pReserved | | _Outptr_opt_result_maybenull_ PVOID * pReserved |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsQuery DnsQuery_W | | #define DnsQuery DnsQuery_W |
| #else | | #else |
| #define DnsQuery DnsQuery_A | | #define DnsQuery DnsQuery_A |
| #endif | | #endif |
|
| | |
| | #if !defined ( USE_PRIVATE_DNS_ADDR ) || defined (MIDL_PASS) |
| | |
| | // |
| | // DnsQueryEx |
| | // |
| | |
| | #define DNS_QUERY_RESULTS_VERSION1 0x1 |
| | |
| | typedef struct _DNS_QUERY_RESULT |
| | { |
| | _In_ ULONG Version; |
| | _Out_ DNS_STATUS QueryStatus; |
| | _Out_ ULONG64 QueryOptions; |
| | _Out_ PDNS_RECORD pQueryRecords; |
| | _Inout_opt_ PVOID Reserved; |
| | } |
| | DNS_QUERY_RESULT, *PDNS_QUERY_RESULT; |
| | |
| | typedef |
| | VOID |
| | WINAPI |
| | DNS_QUERY_COMPLETION_ROUTINE( |
| | _In_ PVOID pQueryContext, |
| | _Inout_ PDNS_QUERY_RESULT pQueryResults |
| | ); |
| | |
| | typedef DNS_QUERY_COMPLETION_ROUTINE *PDNS_QUERY_COMPLETION_ROUTINE; |
| | |
| | #define DNS_QUERY_REQUEST_VERSION1 0x1 |
| | |
| | typedef struct _DNS_QUERY_REQUEST |
| | { |
| | _In_ ULONG Version; |
| | _In_opt_ PCWSTR QueryName; |
| | _In_ WORD QueryType; |
| | _In_ ULONG64 QueryOptions; |
| | _In_opt_ PDNS_ADDR_ARRAY pDnsServerList; |
| | _In_opt_ ULONG InterfaceIndex; |
| | _In_opt_ PDNS_QUERY_COMPLETION_ROUTINE pQueryCompletionCallback; |
| | _In_ PVOID pQueryContext; |
| | } |
| | DNS_QUERY_REQUEST, *PDNS_QUERY_REQUEST; |
| | |
| | typedef struct _DNS_QUERY_CANCEL |
| | { |
| | CHAR Reserved[32]; |
| | } |
| | DNS_QUERY_CANCEL, *PDNS_QUERY_CANCEL; |
| | |
| | DNS_STATUS |
| | WINAPI |
| | DnsQueryEx( |
| | _In_ PDNS_QUERY_REQUEST pQueryRequest, |
| | _Inout_ PDNS_QUERY_RESULT pQueryResults, |
| | _Inout_opt_ PDNS_QUERY_CANCEL pCancelHandle |
| | ); |
| | |
| | DNS_STATUS |
| | WINAPI |
| | DnsCancelQuery( |
| | _In_ PDNS_QUERY_CANCEL pCancelHandle |
| | ); |
| | |
| | #endif |
| | |
| // | | // |
| // DNS Update API | | // DNS Update API |
| // | | // |
| // DnsAcquireContextHandle | | // DnsAcquireContextHandle |
| // DnsReleaseContextHandle | | // DnsReleaseContextHandle |
| // DnsModifyRecordsInSet | | // DnsModifyRecordsInSet |
| // DnsReplaceRecordSet | | // DnsReplaceRecordSet |
| // | | // |
| | |
| // | | // |
| | |
| skipping to change at line 1887 | | skipping to change at line 2117 |
| // PSEC_WINNT_AUTH_IDENTITY_W or PSEC_WINNT_AUTH_IDENTITY_A. | | // PSEC_WINNT_AUTH_IDENTITY_W or PSEC_WINNT_AUTH_IDENTITY_A. |
| // Using PVOID to obviate the need for including rpcdce.h | | // Using PVOID to obviate the need for including rpcdce.h |
| // in order to include this file and to leave open the | | // in order to include this file and to leave open the |
| // possibility of alternative credential specifications in | | // possibility of alternative credential specifications in |
| // the future. | | // the future. |
| // | | // |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsAcquireContextHandle_W( | | DnsAcquireContextHandle_W( |
|
| __in DWORD CredentialFlags, | | _In_ DWORD CredentialFlags, |
| __in_opt PVOID Credentials, | | _In_opt_ PVOID Credentials, |
| __deref_out PHANDLE pContext | | _Outptr_ PHANDLE pContext |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsAcquireContextHandle_A( | | DnsAcquireContextHandle_A( |
|
| __in DWORD CredentialFlags, | | _In_ DWORD CredentialFlags, |
| __in_opt PVOID Credentials, | | _In_opt_ PVOID Credentials, |
| __deref_out PHANDLE pContext | | _Outptr_ PHANDLE pContext |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsAcquireContextHandle DnsAcquireContextHandle_W | | #define DnsAcquireContextHandle DnsAcquireContextHandle_W |
| #else | | #else |
| #define DnsAcquireContextHandle DnsAcquireContextHandle_A | | #define DnsAcquireContextHandle DnsAcquireContextHandle_A |
| #endif | | #endif |
| | |
| VOID | | VOID |
| WINAPI | | WINAPI |
| DnsReleaseContextHandle( | | DnsReleaseContextHandle( |
|
| __in HANDLE hContext | | _In_ HANDLE hContext |
| ); | | ); |
| | |
| // | | // |
| // Dynamic Update API | | // Dynamic Update API |
| // | | // |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsModifyRecordsInSet_W( | | DnsModifyRecordsInSet_W( |
|
| __in_opt PDNS_RECORD pAddRecords, | | _In_opt_ PDNS_RECORD pAddRecords, |
| __in_opt PDNS_RECORD pDeleteRecords, | | _In_opt_ PDNS_RECORD pDeleteRecords, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hCredentials, | | _In_opt_ HANDLE hCredentials, |
| __inout_opt PVOID pExtraList, | | _Inout_opt_ PVOID pExtraList, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsModifyRecordsInSet_A( | | DnsModifyRecordsInSet_A( |
|
| __in_opt PDNS_RECORD pAddRecords, | | _In_opt_ PDNS_RECORD pAddRecords, |
| __in_opt PDNS_RECORD pDeleteRecords, | | _In_opt_ PDNS_RECORD pDeleteRecords, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hCredentials, | | _In_opt_ HANDLE hCredentials, |
| __inout_opt PVOID pExtraList, | | _Inout_opt_ PVOID pExtraList, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsModifyRecordsInSet_UTF8( | | DnsModifyRecordsInSet_UTF8( |
|
| __in_opt PDNS_RECORD pAddRecords, | | _In_opt_ PDNS_RECORD pAddRecords, |
| __in_opt PDNS_RECORD pDeleteRecords, | | _In_opt_ PDNS_RECORD pDeleteRecords, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hCredentials, | | _In_opt_ HANDLE hCredentials, |
| __inout_opt PVOID pExtraList, | | _Inout_opt_ PVOID pExtraList, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsModifyRecordsInSet DnsModifyRecordsInSet_W | | #define DnsModifyRecordsInSet DnsModifyRecordsInSet_W |
| #else | | #else |
| #define DnsModifyRecordsInSet DnsModifyRecordsInSet_A | | #define DnsModifyRecordsInSet DnsModifyRecordsInSet_A |
| #endif | | #endif |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsReplaceRecordSetW( | | DnsReplaceRecordSetW( |
|
| __in PDNS_RECORD pReplaceSet, | | _In_ PDNS_RECORD pReplaceSet, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hContext, | | _In_opt_ HANDLE hContext, |
| __inout_opt PVOID pExtraInfo, | | _Inout_opt_ PVOID pExtraInfo, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsReplaceRecordSetA( | | DnsReplaceRecordSetA( |
|
| __in PDNS_RECORD pReplaceSet, | | _In_ PDNS_RECORD pReplaceSet, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hContext, | | _In_opt_ HANDLE hContext, |
| __inout_opt PVOID pExtraInfo, | | _Inout_opt_ PVOID pExtraInfo, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsReplaceRecordSetUTF8( | | DnsReplaceRecordSetUTF8( |
|
| __in PDNS_RECORD pReplaceSet, | | _In_ PDNS_RECORD pReplaceSet, |
| __in DWORD Options, | | _In_ DWORD Options, |
| __in_opt HANDLE hContext, | | _In_opt_ HANDLE hContext, |
| __inout_opt PVOID pExtraInfo, | | _Inout_opt_ PVOID pExtraInfo, |
| __inout_opt PVOID pReserved | | _Inout_opt_ PVOID pReserved |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsReplaceRecordSet DnsReplaceRecordSetW | | #define DnsReplaceRecordSet DnsReplaceRecordSetW |
| #else | | #else |
| #define DnsReplaceRecordSet DnsReplaceRecordSetA | | #define DnsReplaceRecordSet DnsReplaceRecordSetA |
| #endif | | #endif |
| // | | // |
| // DNS name validation | | // DNS name validation |
| // | | // |
| | |
| skipping to change at line 2008 | | skipping to change at line 2238 |
| DnsNameHostnameFull, | | DnsNameHostnameFull, |
| DnsNameHostnameLabel, | | DnsNameHostnameLabel, |
| DnsNameWildcard, | | DnsNameWildcard, |
| DnsNameSrvRecord, | | DnsNameSrvRecord, |
| DnsNameValidateTld | | DnsNameValidateTld |
| } | | } |
| DNS_NAME_FORMAT; | | DNS_NAME_FORMAT; |
| | |
| DNS_STATUS | | DNS_STATUS |
| DnsValidateName_W( | | DnsValidateName_W( |
|
| __in PCWSTR pszName, | | _In_ PCWSTR pszName, |
| __in DNS_NAME_FORMAT Format | | _In_ DNS_NAME_FORMAT Format |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| DnsValidateName_A( | | DnsValidateName_A( |
|
| __in PCSTR pszName, | | _In_ PCSTR pszName, |
| __in DNS_NAME_FORMAT Format | | _In_ DNS_NAME_FORMAT Format |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| DnsValidateName_UTF8( | | DnsValidateName_UTF8( |
|
| __in PCSTR pszName, | | _In_ PCSTR pszName, |
| __in DNS_NAME_FORMAT Format | | _In_ DNS_NAME_FORMAT Format |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsValidateName(p,f) DnsValidateName_W( (p), (f) ) | | #define DnsValidateName(p,f) DnsValidateName_W( (p), (f) ) |
| #else | | #else |
| #define DnsValidateName(p,f) DnsValidateName_A( (p), (f) ) | | #define DnsValidateName(p,f) DnsValidateName_A( (p), (f) ) |
| #endif | | #endif |
| | |
| // | | // |
| // DNS server validation | | // DNS server validation |
| | |
| skipping to change at line 2050 | | skipping to change at line 2280 |
| #define DNS_VALSVR_ERROR_REFUSED 0x06 | | #define DNS_VALSVR_ERROR_REFUSED 0x06 |
| | |
| #define DNS_VALSVR_ERROR_NO_TCP 0x10 | | #define DNS_VALSVR_ERROR_NO_TCP 0x10 |
| #define DNS_VALSVR_ERROR_UNKNOWN 0xFF | | #define DNS_VALSVR_ERROR_UNKNOWN 0xFF |
| | |
| // Winsock2.h must be included before windns.h to use the validate server functi
on | | // Winsock2.h must be included before windns.h to use the validate server functi
on |
| #ifdef _WS2DEF_ | | #ifdef _WS2DEF_ |
| | |
| DNS_STATUS | | DNS_STATUS |
| DnsValidateServerStatus( | | DnsValidateServerStatus( |
|
| __in PSOCKADDR server, | | _In_ PSOCKADDR server, |
| __in PCWSTR queryName, | | _In_opt_ PCWSTR queryName, |
| __out PDWORD serverStatus | | _Out_ PDWORD serverStatus |
| ); | | ); |
| | |
| #endif | | #endif |
| | |
| // | | // |
| // DNS name comparison | | // DNS name comparison |
| // | | // |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsNameCompare_A( | | DnsNameCompare_A( |
|
| __in PCSTR pName1, | | _In_ PCSTR pName1, |
| __in PCSTR pName2 | | _In_ PCSTR pName2 |
| ); | | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsNameCompare_W( | | DnsNameCompare_W( |
|
| __in PCWSTR pName1, | | _In_ PCWSTR pName1, |
| __in PCWSTR pName2 | | _In_ PCWSTR pName2 |
| ); | | ); |
| | |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define DnsNameCompare(n1,n2) DnsNameCompare_W( (n1),(n2) ) | | #define DnsNameCompare(n1,n2) DnsNameCompare_W( (n1),(n2) ) |
| #else | | #else |
| #define DnsNameCompare(n1,n2) DnsNameCompare_A( (n1),(n2) ) | | #define DnsNameCompare(n1,n2) DnsNameCompare_A( (n1),(n2) ) |
| #endif | | #endif |
| | |
| // | | // |
| // DNS message "roll-your-own" routines | | // DNS message "roll-your-own" routines |
| | |
| skipping to change at line 2095 | | skipping to change at line 2325 |
| typedef struct _DNS_MESSAGE_BUFFER | | typedef struct _DNS_MESSAGE_BUFFER |
| { | | { |
| DNS_HEADER MessageHead; | | DNS_HEADER MessageHead; |
| CHAR MessageBody[1]; | | CHAR MessageBody[1]; |
| } | | } |
| DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER; | | DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER; |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsWriteQuestionToBuffer_W( | | DnsWriteQuestionToBuffer_W( |
|
| __inout PDNS_MESSAGE_BUFFER pDnsBuffer, | | _Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer, |
| __inout PDWORD pdwBufferSize, | | _Inout_ PDWORD pdwBufferSize, |
| __in PCWSTR pszName, | | _In_ PCWSTR pszName, |
| __in WORD wType, | | _In_ WORD wType, |
| __in WORD Xid, | | _In_ WORD Xid, |
| __in BOOL fRecursionDesired | | _In_ BOOL fRecursionDesired |
| ); | | ); |
| | |
| BOOL | | BOOL |
| WINAPI | | WINAPI |
| DnsWriteQuestionToBuffer_UTF8( | | DnsWriteQuestionToBuffer_UTF8( |
|
| __inout PDNS_MESSAGE_BUFFER pDnsBuffer, | | _Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer, |
| __inout PDWORD pdwBufferSize, | | _Inout_ PDWORD pdwBufferSize, |
| __in PCSTR pszName, | | _In_ PCSTR pszName, |
| __in WORD wType, | | _In_ WORD wType, |
| __in WORD Xid, | | _In_ WORD Xid, |
| __in BOOL fRecursionDesired | | _In_ BOOL fRecursionDesired |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsExtractRecordsFromMessage_W( | | DnsExtractRecordsFromMessage_W( |
|
| __in PDNS_MESSAGE_BUFFER pDnsBuffer, | | _In_ PDNS_MESSAGE_BUFFER pDnsBuffer, |
| __in WORD wMessageLength, | | _In_ WORD wMessageLength, |
| __deref_out PDNS_RECORD * ppRecord | | _Outptr_ PDNS_RECORD * ppRecord |
| ); | | ); |
| | |
| DNS_STATUS | | DNS_STATUS |
| WINAPI | | WINAPI |
| DnsExtractRecordsFromMessage_UTF8( | | DnsExtractRecordsFromMessage_UTF8( |
|
| __in PDNS_MESSAGE_BUFFER pDnsBuffer, | | _In_ PDNS_MESSAGE_BUFFER pDnsBuffer, |
| __in WORD wMessageLength, | | _In_ WORD wMessageLength, |
| __deref_out PDNS_RECORD * ppRecord | | _Outptr_ PDNS_RECORD * ppRecord |
| ); | | ); |
| | |
|
| | // |
| | // DNS name resolution policy table |
| | // |
| | |
| DWORD | | DWORD |
| WINAPI | | WINAPI |
| DnsGetProxyInformation( | | DnsGetProxyInformation( |
|
| __in PCWSTR hostName, | | _In_ PCWSTR hostName, |
| __inout DNS_PROXY_INFORMATION *proxyInform | | _Inout_ DNS_PROXY_INFORMATION * proxyInformation, |
| ation, | | _Inout_opt_ DNS_PROXY_INFORMATION * defaultProxyInformation, |
| __inout_opt DNS_PROXY_INFORMATION *defaultProx | | _In_opt_ DNS_PROXY_COMPLETION_ROUTINE completionRoutine, |
| yInformation, | | _In_opt_ void * completionContext |
| __in_opt DNS_PROXY_COMPLETION_ROUTINE completionRo | | ); |
| utine, | | |
| __in_opt void *completionC | | |
| ontext); | | |
| | |
|
| VOID DnsFreeProxyName(__inout PWSTR proxyName); | | VOID |
| | WINAPI |
| | DnsFreeProxyName( |
| | _Frees_ptr_opt_ PWSTR proxyName |
| | ); |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } | | } |
| #endif // __cplusplus | | #endif // __cplusplus |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #endif // _WINDNS_INCLUDED_ | | #endif // _WINDNS_INCLUDED_ |
| | |
| End of changes. 79 change blocks. |
| 203 lines changed or deleted | | 442 lines changed or added |
|