Freigeben über


DnsExtractRecordsFromMessage_UTF8-Funktion (windns.h)

Der Funktionstyp DnsExtractRecordsFromMessage extrahiert Ressourceneinträge (RR) aus einer DNS-Nachricht und speichert diese Datensätze in einer DNS_RECORD-Struktur . Wie viele DNS-Funktionen wird auch der Funktionstyp DnsExtractRecordsFromMessage in mehreren Formen implementiert, um unterschiedliche Zeichencodierungen zu ermöglichen. Verwenden Sie basierend auf der beteiligten Zeichencodierung eine der folgenden Funktionen:

  • DnsExtractRecordsFromMessage_W (_W für Unicode-Codierung)
  • DnsExtractRecordsFromMessage_UTF8 (_UTF8 für UTF-8-Codierung)
Wenn der Funktionstyp DnsExtractRecordsFromMessage ohne sein Suffix (entweder _W oder _UTF8) verwendet wird, tritt ein Compilerfehler auf.

Syntax

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

Parameter

[in] pDnsBuffer

Ein Zeiger auf eine DNS_MESSAGE_BUFFER-Struktur , die die DNS-Antwortnachricht enthält.

[in] wMessageLength

Die Größe der Nachricht in Bytes in pDnsBuffer.

[out] ppRecord

Ein Zeiger auf eine DNS_RECORD-Struktur , die die Liste der extrahierten RRs enthält. Verwenden Sie zum Freigeben dieser Datensätze die DnsRecordListFree-Funktion .

Rückgabewert

Gibt die Erfolgsbestätigung nach erfolgreichem Abschluss zurück. Gibt andernfalls den entsprechenden DNS-spezifischen Fehlercode zurück, wie in Winerror.h definiert.

Hinweise

Die DnsExtractRecordsFromMessage-Funktion ist für die Ausführung von Nachrichten in Hostbytereihenfolge konzipiert. Daher sollten empfangene Nachrichten vor der Extraktion oder vor der erneuten Übertragung in das Netzwerk von der Bytereihenfolge des Netzwerks in die Hostbytereihenfolge konvertiert werden. Verwenden Sie das makro DNS_BYTE_FLIP_HEADER_COUNTS, um die Bytereihenfolge zu ändern.

Die folgende Deklaration für DnsExtractRecordsFromMessage_UTF8 finden Sie in Windns.h.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile windns.h
Bibliothek Dnsapi.lib
DLL Dnsapi.dll

Weitere Informationen

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer