Freigeben über


DnsExtractRecordsFromMessage_W-Funktion (windns.h)

Der Funktionstyp DnsExtractRecordsFromMessage extrahiert Ressourcendatensätze (RR) aus einer DNS-Nachricht und speichert diese Datensätze in einer DNS_RECORD-Struktur . Wie viele DNS-Funktionen wird auch der DnsExtractRecordsFromMessage-Funktionstyp in mehreren Formen implementiert, um eine unterschiedliche Zeichencodierung zu ermöglichen. Verwenden Sie basierend auf der betreffenden 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_W(
  [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 nach erfolgreichem Abschluss eine Erfolgsbestätigung zurück. Andernfalls wird der entsprechende DNS-spezifische Fehlercode zurückgegeben, der in Winerror.h definiert ist.

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 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 unter Windns.h.

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

Anforderungen

   
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