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 los almacena 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 diferente. En función de la codificación de caracteres implicada, use una de las funciones siguientes:

  • DnsExtractRecordsFromMessage_W (_W para la codificación Unicode)
  • DnsExtractRecordsFromMessage_UTF8 (_UTF8 para codificación UTF-8)
Si se usa el tipo de función DnsExtractRecordsFromMessage sin 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ídas. 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.

Observaciones

La función DnsExtractRecordsFromMessage está diseñada para funcionar en mensajes en orden de bytes de host. Por lo tanto, los mensajes recibidos deben convertirse desde el 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

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de windns.h
biblioteca de Dnsapi.lib
DLL de Dnsapi.dll

Consulte también

DNS_MESSAGE_BUFFER

DNS_RECORD

dnsQuery

DnsRecordListFree

dnsWriteQuestionToBuffer