Condividi tramite


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