DnsExtractRecordsFromMessage_UTF8函数 (windns.h)

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

  • DnsExtractRecordsFromMessage_W (Unicode 编码_W)
  • DnsExtractRecordsFromMessage_UTF8 (UTF-8 编码的_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

指向包含提取 RR 列表的 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 [仅限桌面应用]
目标平台 窗户
标头 windns.h
Dnsapi.lib
DLL Dnsapi.dll

另请参阅

DNS_MESSAGE_BUFFER

DNS_RECORD

DnsQuery

DnsRecordListFree

DnsWriteQuestionToBuffer