DnsExtractRecordsFromMessage_UTF8函数 (windns.h)

DnsExtractRecordsFromMessage 函数类型从 DNS 消息中提取资源记录 (RR) ,并将这些记录存储在DNS_RECORD结构中。 与许多 DNS 函数一样, DnsExtractRecordsFromMessage 函数类型以多种形式实现,以促进不同的字符编码。 根据所涉及的字符编码,使用以下函数之一:

  • unicode 编码) 的 DnsExtractRecordsFromMessage_W (_W
  • UTF-8 编码 ) 的 DnsExtractRecordsFromMessage_UTF8 (_UTF8
如果使用 DnsExtractRecordsFromMessage 函数类型时没有其后缀 (_W或_UTF8) ,则会发生编译器错误。

语法

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

参数

[in] pDnsBuffer

指向包含 DNS 响应消息 的DNS_MESSAGE_BUFFER 结构的指针。

[in] wMessageLength

pDnsBuffer 中消息的大小(以字节为单位)。

[out] ppRecord

指向包含提取 R 列表 的DNS_RECORD 结构的指针。 若要释放这些记录,请使用 DnsRecordListFree 函数。

返回值

成功完成后返回成功确认。 否则,将返回 Winerror.h 中定义的相应 DNS 特定错误代码。

注解

DnsExtractRecordsFromMessage 函数旨在按主机字节顺序对消息进行操作。 因此,在提取之前或重新传输到网络之前,接收的消息应从网络字节顺序转换为主机字节顺序。 使用 DNS_BYTE_FLIP_HEADER_COUNTS 宏更改字节顺序。

可以在 Windns.h 中找到 DnsExtractRecordsFromMessage_UTF8 的以下声明。

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 windns.h
Library Dnsapi.lib
DLL Dnsapi.dll

另请参阅

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer