[PATCH 3/3] dnsapi/DnsQueryEx partial implementation

Donat Enikeev donat at enikeev.net
Wed Jan 6 17:42:01 CST 2016


ntdll/DnsQueryEx partial implementation. Tests strongly depend on ntdll functions submitted previously, will send patchset after acceptance or remastering

---
 dlls/dnsapi/query.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/dnsapi/query.c b/dlls/dnsapi/query.c
index a66db37..72be81a 100644
--- a/dlls/dnsapi/query.c
+++ b/dlls/dnsapi/query.c
@@ -658,8 +658,22 @@ static const char *debugstr_query_request(const DNS_QUERY_REQUEST *req)
  */
 DNS_STATUS WINAPI DnsQueryEx(DNS_QUERY_REQUEST *request, DNS_QUERY_RESULT *result, DNS_QUERY_CANCEL *cancel)
 {
-    FIXME("(%s %p %p)\n", debugstr_query_request(request), result, cancel);
-    return DNS_ERROR_RCODE_NOT_IMPLEMENTED;
+    DNS_STATUS status;
+
+    TRACE("(%s %p %p)\n", debugstr_query_request(request), result, cancel);
+    if (!request || !result)
+        return ERROR_INVALID_PARAMETER;
+
+    if (request->pQueryCompletionCallback)
+        FIXME("Asynchronous DNS queries not implemented. (%s %p)\n", debugstr_query_request(request), result);
+
+    status = DnsQuery_W((PCWSTR)(request->QueryName), request->QueryType, request->QueryOptions, NULL, (PDNS_RECORD *)&result->pQueryRecords, NULL);
+
+    result->Version = DNS_QUERY_RESULTS_VERSION1;
+    result->QueryStatus = status;
+    result->QueryOptions = request->QueryOptions;
+
+    return status;
 }
 
 /******************************************************************************
-- 
2.1.4




More information about the wine-patches mailing list