DNS_TSIG_DATAW structure (windns.h)

The DNS_TSIG_DATA structure represents a secret key transaction authentication (TSIG) resource record (RR) as specified in RFC 2845 and RFC 3645.

Syntax

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;

Members

pNameAlgorithm

A pointer to a string that represents the name of the key used to generate pSignature as defined in section 2.3 of RFC 2845.

pAlgorithmPacket

A pointer to a string that represents the name of the algorithm used to generate pSignature as defined in section 2.3 of RFC 2845.

Value Meaning
"gss.microsoft.com"
Windows 2000 Server only: Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-API) as defined in RFC 3645.
"gss-tsig"
Generic Security Service Algorithm for Secret Key Transaction Authentication for DNS (GSS-API) as defined in RFC 3645.

pSignature

A pointer to the Message Authentication Code (MAC) generated by the algorithm in pAlgorithmPacket. The length, in bytes, and composition of pSignature are determined by pAlgorithmPacket.

pOtherData

If wError contains the RCODE, BADTIME, pOtherData is a BYTE array that contains the server's current time, otherwise it is NULL. Time is expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds.

i64CreateTime

The time pSignature was generated, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds.

wFudgeTime

The time, in seconds, i64CreateTime may be in error.

wOriginalXid

The Xid identifier of the original message.

wError

An error, expressed in expanded RCODE format that covers TSIG and TKEY RR processing.

Value Meaning
DNS_RCODE_BADSIG
The pSignature field is bad.
DNS_RCODE_BADKEY
The pKey field of the DNS_TKEY_DATA RR is bad.
DNS_RCODE_BADTIME
A timestamp is bad.

wSigLength

The length, in bytes, of the pSignature member.

wOtherLength

The length, in bytes, of the pOtherData member.

cAlgNameLength

The length, in bytes, of the pAlgorithmPacket member.

bPacketPointers

Reserved for future use. Do not use.

Remarks

The DNS_TSIG_DATA structure is used in conjunction with the DNS_RECORD structure to programmatically manage DNS entries.

Note

The windns.h header defines DNS_TSIG_DATA as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header windns.h

See also

DNS_RECORD

DNS_TKEY_DATA