DNS_QUERY_RAW_RESULT Struktur (windns.h)
Wichtig
Einige Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Veröffentlichung erheblich geändert werden kann. Microsoft übernimmt keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.
Stellt ein DNS-Rohabfrageergebnis dar (siehe DNS_QUERY_RAW_COMPLETION_ROUTINE).
Syntax
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;
Angehörige
version
Typ: ULONG-
Die Version dieser Struktur. Dies entspricht dem, was in DNS_QUERY_RAW_REQUEST::resultsVersionfestgelegt wurde. Derzeit ist nur DNS_QUERY_RAW_RESULT_VERSION1 (0x1) vorhanden.
queryStatus
Typ: DNS_STATUS
Der Status der Abfrage.
queryOptions
Typ: ULONG64
Abfrageoptionen, die in dieser Abfrage verwendet wurden. Aufgrund der Systemkonfiguration unterscheiden sich diese möglicherweise von den Abfrageoptionen, die Sie in der Anforderung angegeben haben. Die aktuellen Optionen werden in DNS-Abfrageoptionendefiniert.
queryRawOptions
Typ: ULONG64
Zusätzliche Optionen, die auf die rohe Abfrage angewendet wurden. Siehe auch DNS_QUERY_RAW_REQUEST::queryRawOptions.
responseFlags
Typ: ULONG64
Zusätzliche Flags zur Abfrageantwort. Derzeit sind keine angegeben.
queryRawResponseSize
Typ: ULONG-
Anzahl der Bytes im DNS-Rohantwortpuffer, auf die durch queryRawResponseverwiesen wird.
queryRawResponse
Typ: BYTE-*
Zeigen Sie auf einen Puffer, der die Drahtdarstellung der DNS-Abfrageantwort enthält– einen 12-Byte-Header gefolgt von einer variablen Anzahl von Datensätzen. Dieser Puffer ist größe queryRawResponseSize Bytes.
Der Zeiger ist je nach queryStatus-möglicherweise gültig oder nicht gültig. Interne DNS-Fehler würden einen Fehlerstatus und einen NULL
Zeiger erzeugen, aber negative Antworten vom Server könnten fehlerstatus und einen gültigen Zeiger erzeugen. Wenn der queryStatus ERROR_SUCCESSist, ist der Zeiger gültig.
queryRecords
Typ: PDNS_RECORD
Zeiger auf eine DNS_RECORD Struktur. Dies enthält dieselben Datensätze wie in queryRawResponse, aber in ein Strukturformat analysiert.
Dieser Zeiger ist auf die gleiche Weise gültig wie queryRawResponse, wobei er vom queryStatus Wert abhängig ist.
queryRecords- enthält dieselben Datensätze wie in queryRawResponse, aber in ein Strukturformat analysiert. Wenn es jedoch einen neuen Dns-Eintragstyp in der Antwort gibt, die von der Implementierung nicht bekannt ist, ist dies in queryRecordsnicht vorhanden; aber es wird in queryRawResponsevorhanden sein.
protocol
Typ: ULONG-
Das FÜR die Abfrageantwort verwendete DNS-Protokoll. Dies stimmt nicht unbedingt mit dem Protokoll in DNS_QUERY_RAW_REQUEST überein, da das DNS-System möglicherweise das ausgehende Abfrageprotokoll basierend auf der Konfiguration geändert hat. Die Abfrageantwort wird bei Bedarf geändert, um das Protokoll in der Anforderung abzugleichen, sodass das vom Aufrufer angezeigte Verhalten nahtlos ist. Ein Wert von DNS_PROTOCOL_NO_WIRE gibt an, dass die Ergebniseinträge und -daten intern erstellt wurden und das DNS-System keine Abfrage an die Leitung gesendet hat.
Mögliche Werte sind:
- DNS_PROTOCOL_UNSPECIFIED (0x0). Die Abfrage wurde abgeschlossen, ohne eine Antwort zu erhalten; z. B. in einer Stornierung.
- DNS_PROTOCOL_UDP (0x1).
- DNS_PROTOCOL_TCP (0x2).
- DNS_PROTOCOL_DOH (0x3).
- DNS_PROTOCOL_DOT (0x4).
- DNS_PROTOCOL_NO_WIRE (0x5). Die Abfrage wurde inline abgeschlossen; z. B. mit Datensätzen aus dem Cache.
sourceAddr
Typ: SOCKADDR_INET
Die Adresse der Quelle der DNS-rohen Antwort.
maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]
Typ: CHAR-[]
Die Adresse der Quelle der DNS-rohen Antwort. Sie können das maxSa Array im Code verwenden, der den SOCKADDR_INET Typ nicht definiert hat.
Anforderungen
Anforderung | Wert |
---|---|
Header- | windns.h |