1 #ifndef _WINDNS_INCLUDED_ 2 #define _WINDNS_INCLUDED_ 8 #define DNS_QUERY_STANDARD 0x0 9 #define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x1 10 #define DNS_QUERY_USE_TCP_ONLY 0x2 11 #define DNS_QUERY_NO_RECURSION 0x4 12 #define DNS_QUERY_BYPASS_CACHE 0x8 13 #define DNS_QUERY_NO_WIRE_QUERY 0x10 14 #define DNS_QUERY_NO_LOCAL_NAME 0x20 15 #define DNS_QUERY_NO_HOSTS_FILE 0x40 16 #define DNS_QUERY_NO_NETBT 0x80 17 #define DNS_QUERY_TREAT_AS_FQDN 0x1000 18 #define DNS_QUERY_WIRE_ONLY 0x100 19 #define DNS_QUERY_RETURN_MESSAGE 0x200 20 #define DNS_QUERY_DONT_RESET_TTL_VALUES 0x100000 21 #define DNS_QUERY_RESERVED 0xff000000 23 #define DNS_UPDATE_SECURITY_USE_DEFAULT 0x0 24 #define DNS_UPDATE_SECURITY_OFF 0x10 25 #define DNS_UPDATE_SECURITY_ON 0x20 26 #define DNS_UPDATE_SECURITY_ONLY 0x100 27 #define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x200 28 #define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x400 29 #define DNS_UPDATE_FORCE_SECURITY_NEGO 0x800 30 #define DNS_UPDATE_RESERVED 0xffff0000 32 #define DNS_CONFIG_FLAG_ALLOC TRUE 40 #define DNS_TYPE_ZERO 0x0000 41 #define DNS_TYPE_A 0x0001 42 #define DNS_TYPE_NS 0x0002 43 #define DNS_TYPE_MD 0x0003 44 #define DNS_TYPE_MF 0x0004 45 #define DNS_TYPE_CNAME 0x0005 46 #define DNS_TYPE_SOA 0x0006 47 #define DNS_TYPE_MB 0x0007 48 #define DNS_TYPE_MG 0x0008 49 #define DNS_TYPE_MR 0x0009 50 #define DNS_TYPE_NULL 0x000a 51 #define DNS_TYPE_WKS 0x000b 52 #define DNS_TYPE_PTR 0x000c 53 #define DNS_TYPE_HINFO 0x000d 54 #define DNS_TYPE_MINFO 0x000e 55 #define DNS_TYPE_MX 0x000f 56 #define DNS_TYPE_TEXT 0x0010 57 #define DNS_TYPE_RP 0x0011 58 #define DNS_TYPE_AFSDB 0x0012 59 #define DNS_TYPE_X25 0x0013 60 #define DNS_TYPE_ISDN 0x0014 61 #define DNS_TYPE_RT 0x0015 62 #define DNS_TYPE_NSAP 0x0016 63 #define DNS_TYPE_NSAPPTR 0x0017 64 #define DNS_TYPE_SIG 0x0018 65 #define DNS_TYPE_KEY 0x0019 66 #define DNS_TYPE_PX 0x001a 67 #define DNS_TYPE_GPOS 0x001b 68 #define DNS_TYPE_AAAA 0x001c 69 #define DNS_TYPE_LOC 0x001d 70 #define DNS_TYPE_NXT 0x001e 71 #define DNS_TYPE_EID 0x001f 72 #define DNS_TYPE_NIMLOC 0x0020 73 #define DNS_TYPE_SRV 0x0021 74 #define DNS_TYPE_ATMA 0x0022 75 #define DNS_TYPE_NAPTR 0x0023 76 #define DNS_TYPE_KX 0x0024 77 #define DNS_TYPE_CERT 0x0025 78 #define DNS_TYPE_A6 0x0026 79 #define DNS_TYPE_DNAME 0x0027 80 #define DNS_TYPE_SINK 0x0028 81 #define DNS_TYPE_OPT 0x0029 82 #define DNS_TYPE_UINFO 0x0064 83 #define DNS_TYPE_UID 0x0065 84 #define DNS_TYPE_GID 0x0066 85 #define DNS_TYPE_UNSPEC 0x0067 86 #define DNS_TYPE_ADDRS 0x00f8 87 #define DNS_TYPE_TKEY 0x00f9 88 #define DNS_TYPE_TSIG 0x00fa 89 #define DNS_TYPE_IXFR 0x00fb 90 #define DNS_TYPE_AXFR 0x00fc 91 #define DNS_TYPE_MAILB 0x00fd 92 #define DNS_TYPE_MAILA 0x00fe 93 #define DNS_TYPE_ALL 0x00ff 94 #define DNS_TYPE_ANY 0x00ff 96 #define DNS_TYPE_WINS 0xff01 97 #define DNS_TYPE_WINSR 0xff02 98 #define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR) 100 #define DNSREC_QUESTION 0 101 #define DNSREC_ANSWER 1 102 #define DNSREC_AUTHORITY 2 103 #define DNSREC_ADDITIONAL 3 105 #define DNS_ATMA_MAX_ADDR_LENGTH 20 107 #define DNS_ADDR_MAX_SOCKADDR_LENGTH 32 168 #pragma pack(push, 1) 173 #if defined(__midl) || defined(__WIDL__) 193 #if defined(__midl) || defined(__WIDL__) 526 #if defined(__midl) || defined(__WIDL__) 527 typedef [switch_type(
unsigned short )]
union DNS_DATAW {
578 DNS_PTR_DATAA PTR,
Ptr,
NS,
Ns,
CNAME,
Cname,
MB,
Mb,
MD,
Md,
MF,
Mf,
MG,
Mg,
MR,
Mr;
611 DNS_PTR_DATAW PTR,
Ptr,
NS,
Ns,
CNAME,
Cname,
MB,
Mb,
MD,
Md,
MF,
Mf,
MG,
Mg,
MR,
Mr;
632 #define DNS_RECORD DNS_RECORDW 633 #define PDNS_RECORD PDNS_RECORDW 635 #define DNS_RECORD DNS_RECORDA 636 #define PDNS_RECORD PDNS_RECORDA 644 #define DNS_RRSET_INIT(rrset) \ 646 PDNS_RRSET _prrset = &(rrset); \ 647 _prrset->pFirstRR = NULL; \ 648 _prrset->pLastRR = (PDNS_RECORD) &_prrset->pFirstRR; \ 651 #define DNS_RRSET_ADD(rrset, pnewRR) \ 653 PDNS_RRSET _prrset = &(rrset); \ 654 PDNS_RECORD _prrnew = (pnewRR); \ 655 _prrset->pLastRR->pNext = _prrnew; \ 656 _prrset->pLastRR = _prrnew; \ 659 #define DNS_RRSET_TERMINATE(rrset) \ 661 PDNS_RRSET _prrset = &(rrset); \ 662 _prrset->pLastRR->pNext = NULL; \ 890 #define DNS_MINFO_DATA DNS_MINFO_DATAW 891 #define PDNS_MINFO_DATA PDNS_MINFO_DATAW 892 #define DNS_MX_DATA DNS_MX_DATAW 893 #define PDNS_MX_DATA PDNS_MX_DATAW 894 #define DNS_NXT_DATA DNS_NXT_DATAW 895 #define PDNS_NXT_DATA PDNS_NXT_DATAW 896 #define DNS_PTR_DATA DNS_PTR_DATAW 897 #define PDNS_PTR_DATA PDNS_PTR_DATAW 898 #define DNS_SIG_DATA DNS_SIG_DATAW 899 #define PDNS_SIG_DATA PDNS_SIG_DATAW 900 #define DNS_SOA_DATA DNS_SOA_DATAW 901 #define PDNS_SOA_DATA PDNS_SOA_DATAW 902 #define DNS_TXT_DATA DNS_TXT_DATAW 903 #define PDNS_TXT_DATA PDNS_TXT_DATAW 904 #define DNS_TKEY_DATA DNS_TKEY_DATAW 905 #define PDNS_TKEY_DATA PDNS_TKEY_DATAW 906 #define DNS_WINSR_DATA DNS_WINSR_DATAW 907 #define PDNS_WINSR_DATA PDNS_WINSR_DATAW 908 #define DnsAcquireContextHandle DnsAcquireContextHandle_W 909 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_W 910 #define DnsNameCompare DnsNameCompare_W 911 #define DnsQuery DnsQuery_W 912 #define DnsReplaceRecordSet DnsReplaceRecordSetW 913 #define DnsValidateName DnsValidateName_W 917 #define DNS_MINFO_DATA DNS_MINFO_DATAA 918 #define PDNS_MINFO_DATA PDNS_MINFO_DATAA 919 #define DNS_MX_DATA DNS_MX_DATAA 920 #define PDNS_MX_DATA PDNS_MX_DATAA 921 #define DNS_NXT_DATA DNS_NXT_DATAA 922 #define PDNS_NXT_DATA PDNS_NXT_DATAA 923 #define DNS_PTR_DATA DNS_PTR_DATAA 924 #define PDNS_PTR_DATA PDNS_PTR_DATAA 925 #define DNS_SIG_DATA DNS_SIG_DATAA 926 #define PDNS_SIG_DATA PDNS_SIG_DATAA 927 #define DNS_SOA_DATA DNS_SOA_DATAA 928 #define PDNS_SOA_DATA PDNS_SOA_DATAA 929 #define DNS_TXT_DATA DNS_TXT_DATAA 930 #define PDNS_TXT_DATA PDNS_TXT_DATAA 931 #define DNS_TKEY_DATA DNS_TKEY_DATAA 932 #define PDNS_TKEY_DATA PDNS_TKEY_DATAA 933 #define DNS_WINSR_DATA DNS_WINSR_DATAA 934 #define PDNS_WINSR_DATA PDNS_WINSR_DATAA 935 #define DnsAcquireContextHandle DnsAcquireContextHandle_A 936 #define DnsModifyRecordsInSet DnsModifyRecordsInSet_A 937 #define DnsNameCompare DnsNameCompare_A 938 #define DnsQuery DnsQuery_A 939 #define DnsReplaceRecordSet DnsReplaceRecordSetA 940 #define DnsValidateName DnsValidateName_A
struct IP6_ADDRESS * PDNS_IP6_ADDRESS
struct _DnsRRSet * PDNS_RRSET
struct DNS_TKEY_DATAA * PDNS_TKEY_DATAA
BOOL WINAPI DnsNameCompare_A(_In_ PCSTR pszName1, _In_ PCSTR pszName2)
struct _DnsAddrArray DNS_ADDR_ARRAY
struct IP6_ADDRESS DNS_IP6_ADDRESS
struct _DNS_HEADER * PDNS_HEADER
struct DNS_KEY_DATA * PDNS_KEY_DATA
struct _DnsRecordA * pNext
LPWSTR pNamePrimaryServer
struct _DNS_MESSAGE_BUFFER DNS_MESSAGE_BUFFER
struct DNS_TXT_DATAW * PDNS_TXT_DATAW
DNS_STATUS WINAPI DnsQuery_W(_In_ PCWSTR pszName, _In_ WORD wType, _In_ DWORD Options, _Inout_opt_ PVOID pExtra, _Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults, _Outptr_opt_result_maybenull_ PVOID *pReserved)
struct DNS_SOA_DATAA * PDNS_SOA_DATAA
struct DNS_WINS_DATA * PDNS_WINS_DATA
DNS_STATUS WINAPI DnsValidateName_UTF8(_In_ LPCSTR, _In_ DNS_NAME_FORMAT)
struct _DNS_HEADER DNS_HEADER
DNS_STATUS WINAPI DnsAcquireContextHandle_W(_In_ DWORD CredentialFlags, _In_opt_ PVOID Credentials, _Outptr_ PHANDLE pContext)
struct _DnsAddrArray * PDNS_ADDR_ARRAY
LPWSTR pNameErrorsMailbox
struct DNS_TKEY_DATAW * PDNS_TKEY_DATAW
struct _DnsAddr * PDNS_ADDR
BOOL WINAPI DnsRecordSetCompare(_Inout_ PDNS_RECORD pRR1, _Inout_ PDNS_RECORD pRR2, _Outptr_opt_result_maybenull_ PDNS_RECORD *ppDiff1, _Outptr_opt_result_maybenull_ PDNS_RECORD *ppDiff2)
PDNS_RECORD WINAPI DnsRecordCopyEx(_In_ PDNS_RECORD pRecord, _In_ DNS_CHARSET CharSetIn, _In_ DNS_CHARSET CharSetOut)
DNS_STATUS WINAPI DnsReplaceRecordSetA(_In_ PDNS_RECORD pReplaceSet, _In_ DWORD Options, _In_opt_ HANDLE hContext, _Inout_opt_ PIP4_ARRAY pExtraInfo, _Inout_opt_ PVOID pReserved)
struct _DNS_WIRE_QUESTION DNS_WIRE_QUESTION
struct _DNS_MESSAGE_BUFFER * PDNS_MESSAGE_BUFFER
DWORD DnsAddrUserDword[8]
struct DNS_NXT_DATAW * PDNS_NXT_DATAW
PDNS_RECORD WINAPI DnsRecordSetCopyEx(_In_ PDNS_RECORD pRecordSet, _In_ DNS_CHARSET CharSetIn, _In_ DNS_CHARSET CharSetOut)
DNS_STATUS WINAPI DnsReplaceRecordSetW(_In_ PDNS_RECORD pReplaceSet, _In_ DWORD Options, _In_opt_ HANDLE hContext, _Inout_opt_ PIP4_ARRAY pExtraInfo, _Inout_opt_ PVOID pReserved)
struct DNS_MINFO_DATAW * PDNS_MINFO_DATAW
struct DNS_TSIG_DATAA * PDNS_TSIG_DATAA
struct DNS_PTR_DATAA * PDNS_PTR_DATAA
typedef _Return_type_success_(return==0) DWORD DNS_STATUS
DNS_STATUS WINAPI DnsQuery_A(_In_ PCSTR pszName, _In_ WORD wType, _In_ DWORD Options, _Inout_opt_ PVOID pExtra, _Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults, _Outptr_opt_result_maybenull_ PVOID *pReserved)
struct _IP4_ARRAY IP4_ARRAY
DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(_In_opt_ PDNS_RECORD pAddRecords, _In_opt_ PDNS_RECORD pDeleteRecords, _In_ DWORD Options, _In_opt_ HANDLE hCredentials, _Inout_opt_ PIP4_ARRAY pExtraList, _Inout_opt_ PVOID pReserved)
struct _DnsRecordFlags DNS_RECORD_FLAGS
DNS_STATUS WINAPI DnsValidateName_A(_In_ LPCSTR, _In_ DNS_NAME_FORMAT)
struct _IP4_ARRAY * PIP4_ARRAY
DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(_In_ PDNS_MESSAGE_BUFFER pDnsBuffer, _In_ WORD wMessageLength, _Outptr_ PDNS_RECORD *ppRecord)
BOOL WINAPI DnsRecordCompare(_In_ PDNS_RECORD, _In_ PDNS_RECORD)
union _DnsAddr::@3249 Data
struct _DnsRRSet DNS_RRSET
CHAR MaxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]
void WINAPI DnsRecordListFree(_Inout_opt_ PDNS_RECORD, _In_ DNS_FREE_TYPE)
#define DNS_ADDR_MAX_SOCKADDR_LENGTH
union _DnsRecordA::@3251 Data
struct _DNS_WIRE_RECORD DNS_WIRE_RECORD
BOOL WINAPI DnsNameCompare_W(_In_ PCWSTR pszwName1, _In_ PCWSTR pszwName2)
DNS_STATUS WINAPI DnsModifyRecordsInSet_W(_In_opt_ PDNS_RECORD pAddRecords, _In_opt_ PDNS_RECORD pDeleteRecords, _In_ DWORD Options, _In_opt_ HANDLE hCredentials, _Inout_opt_ PIP4_ARRAY pExtraList, _Inout_opt_ PVOID pReserved)
struct DNS_MX_DATAW * PDNS_MX_DATAW
void WINAPI DnsReleaseContextHandle(_In_ HANDLE)
union _DnsRecordW::@3252 Flags
struct DNS_SIG_DATAW * PDNS_SIG_DATAW
struct _ACPI_EFI_RUNTIME_SERVICES * RT
struct DNS_NXT_DATAA * PDNS_NXT_DATAA
DNS_STATUS WINAPI DnsValidateName_W(_In_ LPCWSTR, _In_ DNS_NAME_FORMAT)
struct DNS_ATMA_DATA * PDNS_ATMA_DATA
struct DNS_A_DATA * PDNS_A_DATA
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
DNS_STATUS WINAPI DnsAcquireContextHandle_A(_In_ DWORD CredentialFlags, _In_opt_ PVOID Credentials, _Outptr_ PHANDLE pContext)
enum _DNS_NAME_FORMAT DNS_NAME_FORMAT
struct _DnsRecordW * PDNS_RECORDW
struct DNS_SRV_DATAW * PDNS_SRV_DATAW
struct _DNS_WIRE_RECORD * PDNS_WIRE_RECORD
struct DNS_MINFO_DATAA * PDNS_MINFO_DATAA
#define _Out_writes_bytes_to_opt_(size, count)
DNS_STATUS WINAPI DnsQueryConfig(_In_ DNS_CONFIG_TYPE Config, _In_ DWORD Flag, _In_opt_ PWSTR pwsAdapterName, _In_opt_ PVOID pReserved, _Out_writes_bytes_to_opt_(*pBufLen, *pBufLen) PVOID pBuffer, _Inout_ PDWORD pBufLen)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
struct DNS_WINSR_DATAW * PDNS_WINSR_DATAW
struct DNS_TSIG_DATAW * PDNS_TSIG_DATAW
struct DNS_TXT_DATAA * PDNS_TXT_DATAA
#define DNS_ATMA_MAX_ADDR_LENGTH
#define _Outptr_opt_result_maybenull_
BOOL WINAPI DnsWriteQuestionToBuffer_W(_Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer, _Inout_ PDWORD pdwBufferSize, _In_ LPWSTR pszName, _In_ WORD wType, _In_ WORD Xid, _In_ BOOL fRecursionDesired)
struct DNS_SRV_DATAA * PDNS_SRV_DATAA
union _DnsRecordA::@3250 Flags
struct DNS_LOC_DATA * PDNS_LOC_DATA
struct DNS_PTR_DATAW * PDNS_PTR_DATAW
struct _DnsRecordA * PDNS_RECORDA
struct DNS_SOA_DATAW * PDNS_SOA_DATAW
LPWSTR pNameAdministrator
struct _DNS_WIRE_QUESTION * PDNS_WIRE_QUESTION
struct DNS_WINSR_DATAA * PDNS_WINSR_DATAA
DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(_In_ PDNS_RECORD pReplaceSet, _In_ DWORD Options, _In_opt_ HANDLE hContext, _Inout_opt_ PIP4_ARRAY pExtraInfo, _Inout_opt_ PVOID pReserved)
DNS_IP6_ADDRESS Ip6Address
struct _DnsRecordA DNS_RECORDA
struct IP6_ADDRESS * PIP6_ADDRESS
union _DnsRecordW::@3253 Data
DNS_STATUS WINAPI DnsQuery_UTF8(_In_ PCSTR pszName, _In_ WORD wType, _In_ DWORD Options, _Inout_opt_ PVOID pExtra, _Outptr_result_maybenull_ PDNS_RECORD *ppQueryResults, _Outptr_opt_result_maybenull_ PVOID *pReserved)
struct DNS_MX_DATAA * PDNS_MX_DATAA
BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(_Inout_ PDNS_MESSAGE_BUFFER pDnsBuffer, _Inout_ PDWORD pdwBufferSize, _In_ LPSTR pszName, _In_ WORD wType, _In_ WORD Xid, _In_ BOOL fRecursionDesired)
struct _DnsRecordW * pNext
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
#define _Outptr_result_maybenull_
struct DNS_NULL_DATA * PDNS_NULL_DATA
struct _DnsRecordW DNS_RECORDW
struct DNS_SIG_DATAA * PDNS_SIG_DATAA
PDNS_RECORD WINAPI DnsRecordSetDetach(_Inout_ PDNS_RECORD)
static const WCHAR Signature[]
struct DNS_WKS_DATA * PDNS_WKS_DATA
enum _DNS_CHARSET DNS_CHARSET
struct DNS_AAAA_DATA * PDNS_AAAA_DATA
DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(_In_ PDNS_MESSAGE_BUFFER pDnsBuffer, _In_ WORD wMessageLength, _Outptr_ PDNS_RECORD *ppRecord)
DNS_STATUS WINAPI DnsModifyRecordsInSet_A(_In_opt_ PDNS_RECORD pAddRecords, _In_opt_ PDNS_RECORD pDeleteRecords, _In_ DWORD Options, _In_opt_ HANDLE hCredentials, _Inout_opt_ PIP4_ARRAY pExtraList, _Inout_opt_ PVOID pReserved)