63 if (!DnsAddrArray)
return FALSE;
84 if (DnsAddrArray->AllocatedAddresses < DnsAddrArray->UsedAddresses)
90 RtlCopyMemory(&DnsAddrArray->Addresses[DnsAddrArray->UsedAddresses],
108 DnsAddress->Ip4Address.sin_family =
AF_INET;
109 DnsAddress->Ip4Address.sin_port =
Port;
110 DnsAddress->Ip4Address.sin_addr =
Address;
125 DnsAddress->Ip6Address.sin6_family =
AF_INET6;
126 DnsAddress->Ip6Address.sin6_port =
Port;
127 DnsAddress->Ip6Address.sin6_addr = *
Address;
128 DnsAddress->Ip6Address.sin6_scope_id = ScopeId;
144 Address.AddressType = AddressType;
149 DnsAddress->AtmAddress =
Address;
159 switch(DnsRecord->wType)
165 *(
PIN_ADDR)&DnsRecord->Data.A.IpAddress,
173 (
PIN6_ADDR)&DnsRecord->Data.AAAA.Ip6Address,
174 DnsRecord->dwReserved,
182 DnsRecord->Data.Atma.AddressType,
183 &DnsRecord->Data.Atma.Address);
BOOL WINAPI DnsAddrArray_AddIp4(IN PDNS_ARRAY DnsAddrArray, IN IN_ADDR Address, IN DWORD AddressType)
VOID WINAPI DnsAddr_BuildFromIp4(IN PDNS_ADDRESS DnsAddress, IN IN_ADDR Address, IN WORD Port)
BOOLEAN WINAPI DnsAddr_BuildFromDnsRecord(IN PDNS_RECORD DnsRecord, OUT PDNS_ADDRESS DnsAddr)
VOID WINAPI DnsAddrArray_Free(IN PDNS_ARRAY DnsAddrArray)
BOOL WINAPI DnsAddrArray_ContainsAddr(IN PDNS_ARRAY DnsAddrArray, IN PDNS_ADDRESS DnsAddress, IN DWORD AddressType)
VOID WINAPI DnsAddr_BuildFromAtm(IN PDNS_ADDRESS DnsAddress, IN DWORD AddressType, IN PVOID AddressData)
BOOL WINAPI DnsAddrArray_AddAddr(IN PDNS_ARRAY DnsAddrArray, IN PDNS_ADDRESS DnsAddress, IN WORD AddressFamily OPTIONAL, IN DWORD AddressType OPTIONAL)
PDNS_ARRAY WINAPI DnsAddrArray_Create(ULONG Count)
VOID WINAPI DnsAddr_BuildFromIp6(IN PDNS_ADDRESS DnsAddress, IN PIN6_ADDR Address, IN ULONG ScopeId, IN WORD Port)
PVOID WINAPI Dns_AllocZero(IN SIZE_T Size)
VOID WINAPI Dns_Free(IN PVOID Address)
IN PCO_ADDRESS_FAMILY AddressFamily
PULONG MinorVersion OPTIONAL
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define DNS_ATMA_MAX_ADDR_LENGTH
struct sockaddr_in SOCKADDR_IN
SOCKADDR_IN6_LH SOCKADDR_IN6