Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This DNS_RECORDstructure stores DNS records.

Syntax

typedef struct _DnsRecord {
  struct _DnsRecord* 
pNext;
  LPTSTR 
pName;
  WORD 
wType;
  WORD 
wDataLength;
	union {
	DWORD 
DW;
	DNS_RECORD_FLAGS 
S;
} Flags;
	DWORD 
dwTtl;
	DWORD 
dwReserved;
	union {
	DNS_A_DATA A;
	DNS_SOA_DATA SOA, Soa;
	DNS_PTR_DATA PTR, Ptr, NS, Ns, CNAME, Cname, 
	MB, Mb, MD, Md, MF, Mf, MG, Mg, MR, Mr;
	DNS_MINFO_DATA MINFO, Minfo, RP, Rp;
	DNS_MX_DATA MX, Mx, AFSDB, Afsdb, RT, Rt;
	DNS_TXT_DATA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
	DNS_NULL_DATA Null;
	DNS_WKS_DATA WKS, Wks;
	DNS_AAAA_DATA AAAA;
	DNS_KEY_DATA KEY, Key;
	DNS_SIG_DATA SIG, Sig;
	DNS_ATMA_DATA ATMA, Atma;
	DNS_NXT_DATA NXT, Nxt;
	DNS_SRV_DATA SRV, Srv;
	DNS_TKEY_DATA TKEY, Tkey;
	DNS_TSIG_DATA TSIG, Tsig;
	DNS_WINS_DATA WINS, Wins;
	DNS_WINSR_DATA   WINSR, WinsR, NBSTAT, Nbstat;
} Data;
} DNS_RECORD, *PDNS_RECORD;

Members

pNext

[in] Pointer to the next DNS_RECORDstructure.

pName

[in] Domain name of the record set to be updated. Must be in the string format that corresponds to the function being called, such as ANSI, UNICODE, or UTF8.

wType

[in] DNS record type, in host byte order. Can be any of the following:

DNS_TYPE_A

DNS_TYPE_NS

DNS_TYPE_MD

DNS_TYPE_MF

DNS_TYPE_CNAME

DNS_TYPE_SOA

DNS_TYPE_MB

DNS_TYPE_MG

DNS_TYPE_MR

DNS_TYPE_NULL

DNS_TYPE_WKS

DNS_TYPE_PTR

DNS_TYPE_HINFO

DNS_TYPE_MINFO

DNS_TYPE_MX

DNS_TYPE_TEXT

wDataLength

[in] Length of the data, in bytes. Fixed length data types, this value is the size of the corresponding data type, such as sizeof(DNS_A_DATA). For data types that are not fixed, use one of the following macros to determine the size of the data:

Copy Code
#define DNS_TEXT_RECORD_LENGTH(StringCount) \
			(sizeof(DWORD) + ((StringCount) * sizeof(PCHAR)))

#define DNS_NULL_RECORD_LENGTH(ByteCount) \
			(sizeof(DWORD) + (ByteCount))

#define DNS_WKS_RECORD_LENGTH(ByteCount) \
			(sizeof(DNS_WKS_DATA) + (ByteCount-1))

#define DNS_WINS_RECORD_LENGTH(IpCount) \
			(sizeof(DNS_WINS_DATA) + ((IpCount-1) *
sizeof(IP_ADDRESS)))

Flags

DW

[in] Flags used in the structure, in the form of a bit-wise DWORD.

S

[in] Flags used in the structure, in the form of a DNS_RECORD_FLAGSstructure.

dwTtl

[in] Time to live, in seconds. A TTL of zero (0) indicates that the time to live is 10 minutes.

dwReserved

[in] Reserved for future use.

Data

[in] DNS Resource Record data.

Remarks

When building a DNS_RECORDlist as an input argument for the various DNS update routines found in the DNS API, all flags in the this structure should be set to zero.

Requirements

Header windns.h
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also