Share via


fonction DnsExtractRecordsFromMessage_W (windns.h)

Le type de fonction DnsExtractRecordsFromMessage extrait les enregistrements de ressources (RR) 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é sous plusieurs formes 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 de 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 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 de DNS_RECORD qui contient la liste des demandes de tirage extraites. Pour libérer ces enregistrements, utilisez la fonction DnsRecordListFree .

Valeur retournée

Retourne la confirmation de réussite en cas d’achèvement réussi. 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 d’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

   
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