Hans Leidekker (@hans) commented about dlls/dnsapi/query.c:
case DnsConfigSearchList: { - struct get_searchlist_params params = { buffer, len }; - return RESOLV_CALL( get_searchlist, ¶ms ); + struct get_searchlist_params params; + DNS_TXT_DATAW *data = buffer; + unsigned int i, count, needed; + DWORD list_len = *len; + WCHAR *p; + + params.list = NULL; + params.count = &count; + params.len = &list_len; + if ((ret = RESOLV_CALL( get_searchlist, ¶ms ))) + return ret; + needed = FIELD_OFFSET(DNS_TXT_DATAW, pStringArray[count]) + list_len;
Since Windows doesn't implement this query, couldn't we pick something without pointers to keep it simple? A double null terminated string perhaps? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/307#note_2627