Partager via


fonction DnsExtractRecordsFromMessage_W (windns.h)

Le type de fonction DnsExtractRecordsFromMessage extrait les enregistrements de ressources d’un message DNS et stocke ces enregistrements dans une structure DNS_RECORD. Comme de nombreuses fonctions DNS, le type de fonction DnsExtractRecordsFromMessage est implémenté dans plusieurs formulaires pour faciliter l’encodage de caractères différent. En fonction de l’encodage de caractères impliqué, utilisez l’une des fonctions suivantes :

  • DnsExtractRecordsFromMessage_W (_W pour l’encodage Unicode)
  • DnsExtractRecordsFromMessage_UTF8 (_UTF8 pour l’encodage UTF-8)
Si le type de fonction DnsExtractRecordsFromMessage est utilisé sans son suffixe (_W ou _UTF8), une erreur du compilateur se produit.

Syntaxe

DNS_STATUS DnsExtractRecordsFromMessage_W(
  [in]  PDNS_MESSAGE_BUFFER pDnsBuffer,
  [in]  WORD                wMessageLength,
  [out] PDNS_RECORD         *ppRecord
);

Paramètres

[in] pDnsBuffer

Pointeur vers une structure DNS_MESSAGE_BUFFER qui contient le message de réponse DNS.

[in] wMessageLength

Taille, en octets, du message dans pDnsBuffer.

[out] ppRecord

Pointeur vers une structure DNS_RECORD qui contient la liste des RR extraites. Pour libérer ces enregistrements, utilisez la fonction DnsRecordListFree.

Valeur de retour

Retourne la confirmation de réussite lors de la réussite. Sinon, retourne le code d’erreur propre au DNS approprié tel que défini dans Winerror.h.

Remarques

La fonction DnsExtractRecordsFromMessage est conçue pour fonctionner sur les messages dans l’ordre d’octet hôte. Par conséquent, les messages reçus doivent être convertis de l’ordre d’octet réseau en ordre d’octet hôte avant l’extraction ou avant la retransmission sur le réseau. Utilisez la macro DNS_BYTE_FLIP_HEADER_COUNTS pour modifier l’ordre des octets.

La déclaration suivante pour DnsExtractRecordsFromMessage_UTF8 est disponible dans Windns.h.

DNS_STATUS
WINAPI
DnsExtractRecordsFromMessage_UTF8(
    __in            PDNS_MESSAGE_BUFFER pDnsBuffer,
    __in            WORD                wMessageLength,
    __deref_out     PDNS_RECORD *       ppRecord
    );

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête windns.h
bibliothèque Dnsapi.lib
DLL Dnsapi.dll

Voir aussi

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

dnsRecordListFree

DnsWriteQuestionToBuffer