DNS_QUERY_RAW_RESULT struttura (windns.h)
Importante
Alcune informazioni si riferiscono a un prodotto di versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un risultato di query non elaborato DNS (vedere DNS_QUERY_RAW_COMPLETION_ROUTINE).
Sintassi
typedef struct _DNS_QUERY_RAW_RESULT {
ULONG version;
DNS_STATUS queryStatus;
ULONG64 queryOptions;
ULONG64 queryRawOptions;
ULONG64 responseFlags;
ULONG queryRawResponseSize;
BYTE *queryRawResponse;
PDNS_RECORD queryRecords;
ULONG protocol;
union {
SOCKADDR_INET sourceAddr;
CHAR maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH];
};
} DNS_QUERY_RAW_RESULT;
Members
version
Tipo: ULONG
Versione di questa struttura. Corrisponde a ciò che è stato impostato in DNS_QUERY_RAW_REQUEST::resultsVersion. Attualmente esiste solo DNS_QUERY_RAW_RESULT_VERSION1 (0x1 ).
queryStatus
Tipo: DNS_STATUS
Stato della query.
queryOptions
Tipo: ULONG64
Opzioni di query usate in questa query. A causa della configurazione del sistema, questi potrebbero essere diversi dalle opzioni di query fornite nella richiesta. Le opzioni correnti sono definite nelle opzioni di query DNS.
queryRawOptions
Tipo: ULONG64
Opzioni aggiuntive applicate alla query non elaborata. Vedere anche DNS_QUERY_RAW_REQUEST::queryRawOptions.
responseFlags
Tipo: ULONG64
Flag aggiuntivi sulla risposta alla query. Attualmente nessuno è specificato.
queryRawResponseSize
Tipo: ULONG
Numero di byte nel buffer di risposta non elaborato DNS a cui fa riferimento queryRawResponse.
queryRawResponse
Tipo: BYTE*
Puntatore a un buffer contenente la rappresentazione di fili della risposta di query DNS, un'intestazione a 12 byte seguita da un numero variabile di record. Questo buffer è di dimensioni queryRawResponseSize byte.
Il puntatore potrebbe o non essere valido a seconda di queryStatus. Gli errori DNS interni generano uno stato di errore e un NULL
puntatore, ma le risposte negative dal server potrebbero produrre lo stato degli errori e un puntatore valido. Se queryStatus è ERROR_SUCCESS, il puntatore è valido.
queryRecords
Tipo: PDNS_RECORD
Puntatore a una struttura DNS_RECORD . Contiene gli stessi record di queryRawResponse, ma analizzato in un formato di struttura.
Questo puntatore è valido negli stessi modi di queryRawResponse, in cui dipende dal valore queryStatus .
queryRecords contiene gli stessi record di queryRawResponse, ma analizzato in un formato di struttura. Tuttavia, se nella risposta non è presente un nuovo tipo di record DNS non noto dall'implementazione, non sarà presente in queryRecords; ma sarà presente in queryRawResponse.
protocol
Tipo: ULONG
Protocollo DNS usato per la risposta di query. Questo non corrisponde necessariamente al protocollo in DNS_QUERY_RAW_REQUEST perché il sistema DNS potrebbe aver modificato il protocollo di query in uscita in base alla configurazione. La risposta della query verrà modificata, se necessario, per corrispondere al protocollo nella richiesta in modo che il comportamento visualizzato dal chiamante sia semplice. Un valore di DNS_PROTOCOL_NO_WIRE indica che i record e i dati dei risultati sono stati generati internamente e il sistema DNS non ha inviato una query sul filo.
I valori possibili sono:
- DNS_PROTOCOL_UNSPECIFIED (0x0 ). La query completata senza ricevere una risposta; ad esempio in un annullamento.
- DNS_PROTOCOL_UDP (0x1 ).
- DNS_PROTOCOL_TCP (0x2 ).
- DNS_PROTOCOL_DOH (0x3 ).
- DNS_PROTOCOL_DOT (0x4 ).
- DNS_PROTOCOL_NO_WIRE (0x5 ). Query completata inline; ad esempio con i record dalla cache.
sourceAddr
Tipo: SOCKADDR_INET
Indirizzo dell'origine della risposta non elaborata DNS.
maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]
Tipo: CHAR[]
Indirizzo dell'origine della risposta non elaborata DNS. È possibile usare la matrice maxSa nel codice che non ha il tipo SOCKADDR_INET definito.
Requisiti
Requisito | Valore |
---|---|
Intestazione | windns.h |