Partager via


DnsExtractRecordsFromMessage_UTF8, fonction (windns.h)

Le type de fonction DnsExtractRecordsFromMessage extrait les enregistrements de ressource (RR) d’un message DNS et stocke ces enregistrements dans une structure de 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érents. 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_UTF8(
  [in]  PDNS_MESSAGE_BUFFER pDnsBuffer,
  [in]  WORD                wMessageLength,
  [out] PDNS_RECORD         *ppRecord
);

Paramètres

[in] pDnsBuffer

Pointeur vers une structure de 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 demandes de requête extraites. Pour libérer ces enregistrements, utilisez la fonction DnsRecordListFree .

Valeur retournée

Retourne la confirmation de réussite en cas de réussite. Sinon, retourne le code d’erreur 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 de l’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 se trouve dans Windns.h.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête windns.h
Bibliothèque Dnsapi.lib
DLL Dnsapi.dll

Voir aussi

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer