Funzione DnsQueryEx (windns.h)
La funzione DnsQueryEx è l'interfaccia di query generica asincrona nello spazio dei nomi DNS. Fornisce agli sviluppatori di applicazioni un'interfaccia di risoluzione delle query DNS.
Come DnsQuery, DnsQueryEx può essere usato anche per eseguire query sincrone allo spazio dei nomi DNS.
Sintassi
DNS_STATUS DnsQueryEx(
[in] PDNS_QUERY_REQUEST pQueryRequest,
[in, out] PDNS_QUERY_RESULT pQueryResults,
[in, out, optional] PDNS_QUERY_CANCEL pCancelHandle
);
Parametri
[in] pQueryRequest
Puntatore a una struttura DNS_QUERY_REQUEST o DNS_QUERY_REQUEST3 contenente le informazioni sulla richiesta di query.
[in, out] pQueryResults
Puntatore a una struttura DNS_QUERY_RESULT contenente i risultati della query. In input, il membro della versione di pQueryResults deve essere DNS_QUERY_RESULTS_VERSION1 e tutti gli altri membri devono essere NULL. Nell'output, i membri rimanenti verranno compilati come parte della query completata.
[in, out, optional] pCancelHandle
Puntatore a una struttura DNS_QUERY_CANCEL che può essere usata per annullare una query asincrona in sospeso.
Valore restituito
La funzione DnsQueryEx include i valori restituiti seguenti:
Codice restituito | Descrizione |
---|---|
|
La chiamata è stata completata correttamente. |
|
I parametri pQueryRequest o pQueryRequest non sono inizializzati o contengono la versione errata. |
|
La chiamata ha generato un errore RCODE . |
|
Nessun record nella risposta. |
|
La query verrà completata in modo asincrono. |
Commenti
Se una chiamata a DnsQueryEx completa in modo sincrono (ad esempio, il valore restituito della funzione non è DNS_REQUEST_PENDING), il membro pQueryRecords di pQueryResults contiene un puntatore a un elenco di DNS_RECORDS e DnsQueryEx restituirà l'errore o l'esito positivo.
Le condizioni seguenti richiamano una chiamata sincrona a DnsQueryEx e non usano il callback DNS:
- Il callback DNS_QUERY_COMPLETION_ROUTINE viene omesso dal membro pQueryCompleteCallback di pQueryRequest.
- Una query è per il nome del computer locale e A o AAAA tipo Record risorse (RR).
- Una chiamata a DnsQueryEx esegue query su un indirizzo IPv4 o IPv6.
- Una chiamata a DnsQueryEx restituisce un errore.
pCancelHandle restituito da una chiamata asincrona a DnsQueryEx e pQueryContext è valido fino a quando non viene richiamato il callback DNS DNS_QUERY_COMPLETION_ROUTINE .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 [solo app desktop] |
Server minimo supportato | Windows Server 2012 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | windns.h |
Libreria | Dnsapi.lib |
DLL | Dnsapi.dll |