DNS_RECORD

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This DNS_RECORD structure 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_RECORD structure.
  • 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:

    #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_FLAGS structure.
  • 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_RECORD list 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

Reference

DNS Structures
DnsQuery_W
DnsReplaceRecordSetW
DNS_A_DATA
DNS_SOA_DATA
DNS_PTR_DATA
DNS_MINFO_DATA
DNS_MX_DATA
DNS_TXT_DATA
DNS_NULL_DATA
DNS_WKS_DATA
DNS_AAAA_DATA
DNS_KEY_DATA
DNS_SIG_DATA
DNS_ATMA_DATA
DNS_NXT_DATA
DNS_SRV_DATA
DNS_TKEY_DATA
DNS_TSIG_DATA
DNS_WINS_DATA
DNS_WINSR_DATA