structure DNS_QUERY_RAW_RESULT (windns.h)
Important
Certaines informations se rapportent à un produit de préversion qui peut être considérablement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un résultat de requête brute DNS (voir DNS_QUERY_RAW_COMPLETION_ROUTINE).
Syntaxe
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;
Membres
version
Type : ULONG
Version de cette structure. Cela correspond à ce qui a été défini dans DNS_QUERY_RAW_REQUEST ::resultsVersion. Actuellement, il n’existe que DNS_QUERY_RAW_RESULT_VERSION1 (0x1).
queryStatus
Type : DNS_STATUS
Status de la requête.
queryOptions
Type : ULONG64
Options de requête utilisées dans cette requête. En raison de la configuration du système, celles-ci peuvent être différentes des options de requête que vous avez fournies dans la demande. Les options actuelles sont définies dans les options de requête DNS.
queryRawOptions
Type : ULONG64
Options supplémentaires appliquées à la requête brute. Consultez également DNS_QUERY_RAW_REQUEST ::queryRawOptions.
responseFlags
Type : ULONG64
Indicateurs supplémentaires sur la réponse à la requête. Actuellement, aucun n’est spécifié.
queryRawResponseSize
Type : ULONG
Nombre d’octets dans la mémoire tampon de réponse brute DNS pointée par queryRawResponse.
queryRawResponse
Type : BYTE*
Pointeur vers une mémoire tampon contenant la représentation filaire de la réponse de requête DNS, un en-tête de 12 octets suivi d’un nombre variable d’enregistrements. Cette mémoire tampon est de taille queryRawResponseSize octets.
Le pointeur peut ou non être valide en fonction de queryStatus. Les erreurs DNS internes produisent une erreur status et un NULL
pointeur, mais des réponses négatives du serveur peuvent générer une erreur status et un pointeur valide. Si queryStatus est ERROR_SUCCESS, le pointeur est valide.
queryRecords
Type : PDNS_RECORD
Pointeur vers une structure DNS_RECORD . Il contient les mêmes enregistrements que dans queryRawResponse, mais analysés dans un format de structure.
Ce pointeur est valide de la même manière que queryRawResponse, où il dépend de la valeur queryStatus .
queryRecords contient les mêmes enregistrements que dans queryRawResponse, mais analysés dans un format de structure. Toutefois, s’il existe un nouveau type d’enregistrement DNS dans la réponse qui n’est pas connu par l’implémentation, il ne sera pas présent dans queryRecords ; mais il sera présent dans queryRawResponse.
protocol
Type : ULONG
Protocole DNS utilisé pour la réponse à la requête. Cela ne correspond pas nécessairement au protocole dans DNS_QUERY_RAW_REQUEST , car le système DNS a peut-être modifié le protocole de requête sortant en fonction de la configuration. La réponse à la requête sera modifiée, si nécessaire, pour qu’elle corresponde au protocole dans la requête afin que le comportement observé par l’appelant soit transparent. La valeur DNS_PROTOCOL_NO_WIRE indique que les enregistrements et les données des résultats ont été générés en interne et que le système DNS n’a pas envoyé de requête sur le réseau.
Les valeurs possibles incluent :
- DNS_PROTOCOL_UNSPECIFIED (0x0). La requête s’est terminée sans recevoir de réponse ; comme dans une annulation.
- DNS_PROTOCOL_UDP (0x1).
- DNS_PROTOCOL_TCP (0x2).
- DNS_PROTOCOL_DOH (0x3).
- DNS_PROTOCOL_DOT (0x4).
- DNS_PROTOCOL_NO_WIRE (0x5). La requête s’est terminée en ligne ; par exemple avec les enregistrements du cache.
sourceAddr
Type : SOCKADDR_INET
Adresse de la source de la réponse brute DNS.
maxSa[DNS_ADDR_MAX_SOCKADDR_LENGTH]
Type : CHAR[]
Adresse de la source de la réponse brute DNS. Vous pouvez utiliser le tableau maxSa dans du code qui n’a pas le type SOCKADDR_INET défini.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | windns.h |