2.2.3.2.3 DNS_ADDR_ARRAY
The DNS_ADDR_ARRAY structure is used to represent an array of DNS_ADDR (section 2.2.3.2.2) structures. The DNS Server Management Protocol uses this structure to exchange lists of mixed IPv4 and IPv6 addresses between client and server.
-
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;
MaxCount: The actual number of IP addresses that are present in the AddrArray member.
AddrCount: Must be set to the same value as MaxCount.
Tag: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
Family: The family of addresses present in the array, such as AF_INET or AF_INET6. If this field is not specified, addresses with all families can be present.
WordReserved: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
Flags: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
MatchFlag: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
Reserved1: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
Reserved2: This field is unused. Senders MUST set the value to zero and receivers MUST ignore it.
AddrArray: An array of DNS_ADDR (section 2.2.3.2.2) structures. The number of elements in this array is specified by the AddrCount member.
An empty DNS_ADDR_ARRAY is represented by AddrCount set to zero. Senders of an empty DNS_ADR_ARRAY MUST set the other fields' values to zero (including a single entry in AddrArray, which is set to binary zeros), and receivers MUST ignore them.