666 ULONG network_info_blen = 0;
667 DWORD network_info_result;
671 PCHAR HostWithDomainName;
677 if (QueryResultSet ==
NULL)
680 *QueryResultSet =
NULL;
695 if (
NULL == AnsiName)
711 if (
NULL == network_info)
720 return network_info_result;
725 size_t TempLen = 2, StringLength = 0;
728 TempLen += StringLength;
730 TempLen += StringLength;
741 if (
NULL == *QueryResultSet)
743 RtlFreeHeap(RtlGetProcessHeap(), 0, HostWithDomainName);
747 (*QueryResultSet)->pNext =
NULL;
748 (*QueryResultSet)->wType =
Type;
749 (*QueryResultSet)->wDataLength =
sizeof(
DNS_A_DATA);
752 (*QueryResultSet)->Data.A.IpAddress =
Address;
754 (*QueryResultSet)->pName = (
LPSTR)
DnsCToW(HostWithDomainName);
756 RtlFreeHeap(RtlGetProcessHeap(), 0, HostWithDomainName);
807 #define CNAME_LOOP_MAX 16 809 CurrentName = AnsiName;
819 if (CurrentName != AnsiName)
826 if (answer && answer->
rrs.
addr)
828 if (CurrentName != AnsiName)
834 if (
NULL == *QueryResultSet)
840 (*QueryResultSet)->pNext =
NULL;
841 (*QueryResultSet)->wType =
Type;
842 (*QueryResultSet)->wDataLength =
sizeof(
DNS_A_DATA);
845 (*QueryResultSet)->Data.A.IpAddress = answer->
rrs.
addr->
addr.
inet.sin_addr.s_addr;
858 if (CurrentName != AnsiName)
865 if (CurrentName != AnsiName)
#define ERROR_INVALID_PARAMETER
#define WideCharToMultiByte
ADNS_API void adns_finish(adns_state ads)
union adns_rr_addr::@3996 addr
IP_ADDRESS_STRING IpAddress
struct _IP_ADDR_STRING * Next
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
static PWCHAR DnsCToW(const CHAR *NarrowString)
ADNS_API void adns_ccf_search(adns_state state, const char *fn, int lno, const char *buf)
#define DNS_QUERY_NO_RECURSION
STRSAFEAPI StringCchCatA(STRSAFE_LPSTR pszDest, size_t cchDest, STRSAFE_LPCSTR pszSrc)
DWORD WINAPI GetNetworkParams(PFIXED_INFO pFixedInfo, PULONG pOutBufLen)
union adns_answer::@3997 rrs
char DomainName[MAX_DOMAIN_NAME_LEN+4]
WCHAR * xstrsave(const WCHAR *str)
#define ERROR_FILE_NOT_FOUND
IP4_ADDRESS CheckForCurrentHostname(CONST CHAR *Name, PFIXED_INFO network_info)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
CHAR * xstrsaveA(const CHAR *str)
ADNS_API int adns_numservers(adns_state state)
DNS_STATUS DnsIntTranslateAdnsToDNS_STATUS(int Status)
ADNS_API void adns_addserver(adns_state state, struct in_addr server)
GLenum const GLvoid * addr
char HostName[MAX_HOSTNAME_LEN+4]
struct FIXED_INFO * PFIXED_INFO
STRSAFEAPI StringCchCopyA(STRSAFE_LPSTR pszDest, size_t cchDest, STRSAFE_LPCSTR pszSrc)
STRSAFEAPI StringCchLengthA(STRSAFE_LPCSTR psz, size_t cchMax, size_t *pcchLength)
ADNS_API int adns_init(adns_state *newstate_r, adns_initflags flags, FILE *diagfile)
#define DNS_QUERY_NO_WIRE_QUERY
int adns_synchronous(adns_state ads, const char *owner, adns_rrtype type, adns_queryflags flags, adns_answer **answer_r)
IP_ADDR_STRING DnsServerList