/****************************************************************************** * DnsQuery_A [DNSAPI.@] * */ DNS_STATUS WINAPI DnsQuery_A( PCSTR name, WORD type, DWORD options, PVOID servers, PDNS_RECORDA *result, PVOID *reserved ) { WCHAR *nameW; DNS_RECORDW *resultW; DNS_STATUS status; TRACE( "(%s,%s,0x%08x,%p,%p,%p)\n", debugstr_a(name), dns_type_to_str( type ), options, servers, result, reserved ); if (!name || !result) return ERROR_INVALID_PARAMETER; nameW = dns_strdup_aw( name ); if (!nameW) return ERROR_NOT_ENOUGH_MEMORY; status = DnsQuery_W( nameW, type, options, servers, &resultW, reserved ); if (status == ERROR_SUCCESS) { *result = (DNS_RECORDA *)DnsRecordSetCopyEx( (DNS_RECORD *)resultW, DnsCharSetUnicode, DnsCharSetAnsi ); if (!*result) status = ERROR_NOT_ENOUGH_MEMORY; DnsRecordListFree( (DNS_RECORD *)resultW, DnsFreeRecordList ); } dns_free( nameW ); return status; }
/****************************************************************************** * DnsNameCompare_A [DNSAPI.@] * */ BOOL WINAPI DnsNameCompare_A( LPSTR name1, LPSTR name2 ) { BOOL ret; LPWSTR name1W, name2W; TRACE( "(%s,%s)\n", debugstr_a(name1), debugstr_a(name2) ); name1W = dns_strdup_aw( name1 ); name2W = dns_strdup_aw( name2 ); ret = DnsNameCompare_W( name1W, name2W ); dns_free( name1W ); dns_free( name2W ); return ret; }
/****************************************************************************** * DnsValidateName_A [DNSAPI.@] * */ DNS_STATUS WINAPI DnsValidateName_A( LPCSTR name, DNS_NAME_FORMAT format ) { LPWSTR nameW; DNS_STATUS ret; TRACE( "(%s, %d)\n", debugstr_a(name), format ); nameW = dns_strdup_aw( name ); ret = DnsValidateName_W( nameW, format ); dns_free( nameW ); return ret; }