Compartir a través de


función DnsExtractRecordsFromMessage_W (windns.h)

El tipo de función DnsExtractRecordsFromMessage extrae los registros de recursos (RR) de un mensaje DNS y almacena esos registros en una estructura de DNS_RECORD . Al igual que muchas funciones DNS, el tipo de función DnsExtractRecordsFromMessage se implementa en varios formularios para facilitar la codificación de caracteres diferentes. En función de la codificación de caracteres implicada, use una de las siguientes funciones:

  • DnsExtractRecordsFromMessage_W (_W para la codificación Unicode)
  • DnsExtractRecordsFromMessage_UTF8 (_UTF8 para codificación UTF-8)
Si el tipo de función DnsExtractRecordsFromMessage se usa sin su sufijo (ya sea _W o _UTF8), se producirá un error del compilador.

Sintaxis

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

Parámetros

[in] pDnsBuffer

Puntero a una estructura de DNS_MESSAGE_BUFFER que contiene el mensaje de respuesta DNS.

[in] wMessageLength

Tamaño, en bytes, del mensaje en pDnsBuffer.

[out] ppRecord

Puntero a una estructura de DNS_RECORD que contiene la lista de RR extraídos. Para liberar estos registros, use la función DnsRecordListFree .

Valor devuelto

Devuelve la confirmación correcta tras la finalización correcta. De lo contrario, devuelve el código de error específico de DNS adecuado tal como se define en Winerror.h.

Comentarios

La función DnsExtractRecordsFromMessage está diseñada para funcionar en mensajes en el orden de bytes del host. Por lo tanto, los mensajes recibidos deben convertirse del orden de bytes de red para hospedar el orden de bytes antes de la extracción o antes de la retransmisión a la red. Use la macro DNS_BYTE_FLIP_HEADER_COUNTS para cambiar el orden de bytes.

La siguiente declaración para DnsExtractRecordsFromMessage_UTF8 se puede encontrar en Windns.h.

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

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado windns.h
Library Dnsapi.lib
Archivo DLL Dnsapi.dll

Consulte también

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer