Função DnsExtractRecordsFromMessage_W (windns.h)

O tipo de função DnsExtractRecordsFromMessage extrai registros de recursos (RR) de uma mensagem DNS e armazena esses registros em uma estrutura DNS_RECORD . Como muitas funções DNS, o tipo de função DnsExtractRecordsFromMessage é implementado em várias formas para facilitar a codificação de caracteres diferente. Com base na codificação de caracteres envolvida, use uma das seguintes funções:

  • DnsExtractRecordsFromMessage_W (_W para codificação Unicode)
  • DnsExtractRecordsFromMessage_UTF8 (_UTF8 para codificação UTF-8)
Se o tipo de função DnsExtractRecordsFromMessage for usado sem seu sufixo (_W ou _UTF8), ocorrerá um erro do compilador.

Sintaxe

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

Parâmetros

[in] pDnsBuffer

Um ponteiro para uma estrutura DNS_MESSAGE_BUFFER que contém a mensagem de resposta DNS.

[in] wMessageLength

O tamanho, em bytes, da mensagem em pDnsBuffer.

[out] ppRecord

Um ponteiro para uma estrutura DNS_RECORD que contém a lista de RRs extraídas. Para liberar esses registros, use a função DnsRecordListFree .

Valor retornado

Retorna a confirmação de êxito após a conclusão bem-sucedida. Caso contrário, retornará o código de erro específico do DNS apropriado, conforme definido em Winerror.h.

Comentários

A função DnsExtractRecordsFromMessage foi projetada para operar em mensagens na ordem de bytes do host. Dessa forma, as mensagens recebidas devem ser convertidas da ordem de byte de rede para hospedar a ordem de bytes antes da extração ou antes da retransmissão na rede. Use a macro DNS_BYTE_FLIP_HEADER_COUNTS para alterar a ordenação de bytes.

A declaração a seguir para DnsExtractRecordsFromMessage_UTF8 pode ser encontrada em Windns.h.

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

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho windns.h
Biblioteca Dnsapi.lib
DLL Dnsapi.dll

Confira também

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer