DNS_TSIG_DATAW结构(windns.h)

DNS_TSIG_DATA 结构表示 RFC 2845 中指定的密钥事务身份验证(TSIG)资源记录(RR),RFC 3645

语法

typedef struct {
  PWSTR    pNameAlgorithm;
  PBYTE    pAlgorithmPacket;
  PBYTE    pSignature;
  PBYTE    pOtherData;
  LONGLONG i64CreateTime;
  WORD     wFudgeTime;
  WORD     wOriginalXid;
  WORD     wError;
  WORD     wSigLength;
  WORD     wOtherLength;
  UCHAR    cAlgNameLength;
  BOOL     bPacketPointers;
} DNS_TSIG_DATAW, *PDNS_TSIG_DATAW;

成员

pNameAlgorithm

指向一个字符串的指针,该字符串表示用于生成 pSignature 的键的名称,如 RFC 2845的第 2.3 节中所述。

pAlgorithmPacket

指向一个字符串的指针,该字符串表示用于生成 pSignature 的算法的名称,该算法在 RFC 2845的第 2.3 节中定义。

价值 意义
“gss.microsoft.com”
仅限 Windows 2000 服务器:DNS(GSS-API)的密钥事务身份验证的通用安全服务算法,如 RFC 3645中定义。
“gss-tsig”
RFC 3645中定义的 DNS(GSS-API)密钥事务身份验证的通用安全服务算法。

pSignature

指向 pAlgorithmPacket中算法生成的消息身份验证代码(MAC)的指针。 pAlgorithmPacket确定 pSignature 的长度、字节和组成。

pOtherData

如果 wError 包含 RCODE,BADTIMEpOtherData 是包含服务器的当前时间的 BYTE 数组,否则它 NULL。 从1970年1月1日开始开始,格林威治平均时间(GMT)(不包括跳跃秒)以来,时间以秒表示。

i64CreateTime

生成 pSignature 的时间,以秒为单位,从 1970 年 1 月 1 日开始,格林威治平均时间(GMT),不包括跳跃秒。

wFudgeTime

i64CreateTime 的时间(以秒为单位)可能出错。

wOriginalXid

原始消息的 Xid 标识符。

wError

以涵盖 TSIG 和 TKEY RR 处理的扩展 RCODE 格式表示的错误。

价值 意义
DNS_RCODE_BADSIG
pSignature 字段不正确。
DNS_RCODE_BADKEY
DNS_TKEY_DATA RR 的 pKey 字段不正确。
DNS_RCODE_BADTIME
时间戳不正确。

wSigLength

pSignature 成员的长度(以字节为单位)。

wOtherLength

pOtherData 成员的长度(以字节为单位)。

cAlgNameLength

pAlgorithmPacket 成员的长度(以字节为单位)。

bPacketPointers

保留以供将来使用。 请勿使用。

言论

DNS_TSIG_DATA 结构与 DNS_RECORD 结构结合使用,以编程方式管理 DNS 条目。

注意

windns.h 标头将 DNS_TSIG_DATA 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 windns.h

另请参阅

DNS_RECORD

DNS_TKEY_DATA