(windns.h) DNS_RECORDA 结构

DNS_RECORD结构 (RR) 存储 DNS 资源记录。

语法

typedef struct _DnsRecordA {
  struct _DnsRecordA *pNext;
  PSTR               pName;
  WORD               wType;
  WORD               wDataLength;
  union {
    DWORD            DW;
    DNS_RECORD_FLAGS S;
  } Flags;
  DWORD              dwTtl;
  DWORD              dwReserved;
  union {
    DNS_A_DATA          A;
    DNS_SOA_DATAA       SOA;
    DNS_SOA_DATAA       Soa;
    DNS_PTR_DATAA       PTR;
    DNS_PTR_DATAA       Ptr;
    DNS_PTR_DATAA       NS;
    DNS_PTR_DATAA       Ns;
    DNS_PTR_DATAA       CNAME;
    DNS_PTR_DATAA       Cname;
    DNS_PTR_DATAA       DNAME;
    DNS_PTR_DATAA       Dname;
    DNS_PTR_DATAA       MB;
    DNS_PTR_DATAA       Mb;
    DNS_PTR_DATAA       MD;
    DNS_PTR_DATAA       Md;
    DNS_PTR_DATAA       MF;
    DNS_PTR_DATAA       Mf;
    DNS_PTR_DATAA       MG;
    DNS_PTR_DATAA       Mg;
    DNS_PTR_DATAA       MR;
    DNS_PTR_DATAA       Mr;
    DNS_MINFO_DATAA     MINFO;
    DNS_MINFO_DATAA     Minfo;
    DNS_MINFO_DATAA     RP;
    DNS_MINFO_DATAA     Rp;
    DNS_MX_DATAA        MX;
    DNS_MX_DATAA        Mx;
    DNS_MX_DATAA        AFSDB;
    DNS_MX_DATAA        Afsdb;
    DNS_MX_DATAA        RT;
    DNS_MX_DATAA        Rt;
    DNS_TXT_DATAA       HINFO;
    DNS_TXT_DATAA       Hinfo;
    DNS_TXT_DATAA       ISDN;
    DNS_TXT_DATAA       Isdn;
    DNS_TXT_DATAA       TXT;
    DNS_TXT_DATAA       Txt;
    DNS_TXT_DATAA       X25;
    DNS_NULL_DATA       Null;
    DNS_WKS_DATA        WKS;
    DNS_WKS_DATA        Wks;
    DNS_AAAA_DATA       AAAA;
    DNS_KEY_DATA        KEY;
    DNS_KEY_DATA        Key;
    DNS_SIG_DATAA       SIG;
    DNS_SIG_DATAA       Sig;
    DNS_ATMA_DATA       ATMA;
    DNS_ATMA_DATA       Atma;
    DNS_NXT_DATAA       NXT;
    DNS_NXT_DATAA       Nxt;
    DNS_SRV_DATAA       SRV;
    DNS_SRV_DATAA       Srv;
    DNS_NAPTR_DATAA     NAPTR;
    DNS_NAPTR_DATAA     Naptr;
    DNS_OPT_DATA        OPT;
    DNS_OPT_DATA        Opt;
    DNS_DS_DATA         DS;
    DNS_DS_DATA         Ds;
    DNS_RRSIG_DATAA     RRSIG;
    DNS_RRSIG_DATAA     Rrsig;
    DNS_NSEC_DATAA      NSEC;
    DNS_NSEC_DATAA      Nsec;
    DNS_DNSKEY_DATA     DNSKEY;
    DNS_DNSKEY_DATA     Dnskey;
    DNS_TKEY_DATAA      TKEY;
    DNS_TKEY_DATAA      Tkey;
    DNS_TSIG_DATAA      TSIG;
    DNS_TSIG_DATAA      Tsig;
    DNS_WINS_DATA       WINS;
    DNS_WINS_DATA       Wins;
    DNS_WINSR_DATAA     WINSR;
    DNS_WINSR_DATAA     WinsR;
    DNS_WINSR_DATAA     NBSTAT;
    DNS_WINSR_DATAA     Nbstat;
    DNS_DHCID_DATA      DHCID;
    DNS_NSEC3_DATA      NSEC3;
    DNS_NSEC3_DATA      Nsec3;
    DNS_NSEC3PARAM_DATA NSEC3PARAM;
    DNS_NSEC3PARAM_DATA Nsec3Param;
    DNS_TLSA_DATA       TLSA;
    DNS_TLSA_DATA       Tlsa;
    DNS_SVCB_DATA       SVCB;
    DNS_SVCB_DATA       Svcb;
    DNS_UNKNOWN_DATA    UNKNOWN;
    DNS_UNKNOWN_DATA    Unknown;
    PBYTE               pDataPtr;
  } Data;
} DNS_RECORDA, *PDNS_RECORDA;

成员

pNext

指向下一 个DNS_RECORD 结构的指针。

pName

指向表示记录集域名的字符串的指针。 它必须采用与名为 的函数对应的字符串格式,例如 ANSI、Unicode 或 UTF8。

wType

一个值,该值表示 RR DNS 记录类型wType 确定 数据的格式。 例如,如果 wType 的值为 DNS_TYPE_A,则 data 的数据类型 DNS_A_DATA

wDataLength

数据的长度(以字节为单位)。 对于固定长度数据类型,此值是相应数据类型的大小,例如 size of (DNS_A_DATA) 。 对于非固定数据类型,请使用以下宏之一来确定数据的长度:

C++
<#include windows.h>

#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))) #define DNS_TEXT_RECORD_LENGTH(StringCount) (sizeof(DWORD) + ((StringCount) * sizeof(PCHAR)))

Flags

Flags.DW

一个值,该值包含 DNS 记录标志的位图。

Flags.S

DNS_RECORD_FLAGS 结构形式的一组标志。

dwTtl

DNS RR 的生存时间值 (TTL) (以秒为单位)。

dwReserved

保留。 请勿使用。

Data

DNS RR 数据类型由 wType 确定,是以下成员之一:

SOA、Soa

RR 数据类型为 DNS_SOA_DATAwType的值DNS_TYPE_SOA。

PTR、Ptr、NS、Ns、CNAME、Cname、DNAME、Dname、MB、MB、MD、Md、MF、Mf、MG、Mg、MR、Mr、Mr

RR 数据类型为 DNS_PTR_DATAwType的值DNS_TYPE_PTR。

MINFO、Minfo、RP、Rp

RR 数据类型为 DNS_MINFO_DATAwType的值DNS_TYPE_MINFO。

MX、Mx、AFSDB、Afsdb、RT、Rt

RR 数据类型为 DNS_MX_DATAwType的值DNS_TYPE_MX。

HINFO、Hinfo、ISDN、Isdn、TXT、Txt、X25

RR 数据类型为 DNS_TXT_DATAwType的值DNS_TYPE_TEXT。

WKS、Wks

RR 数据类型为 DNS_WKS_DATAwType的值DNS_TYPE_WKS。

KEY、Key

RR 数据类型为 DNS_KEY_DATAwType的值DNS_TYPE_KEY。

SIG、Sig

RR 数据类型是 DNS_SIG_DATAwType的值DNS_TYPE_SIG。

ATMA、Atma

RR 数据类型为 DNS_ATMA_DATAwType的值DNS_TYPE_ATMA。

NXT、Nxt

RR 数据类型为 DNS_NXT_DATAwType的值DNS_TYPE_NXT。

SRV、Srv

RR 数据类型为 DNS_SRV_DATAwType的值DNS_TYPE_SRV。

NAPTR、Naptr

RR 数据类型是 DNS_NAPTR_DATAwType的值DNS_TYPE_NAPTR。

OPT、Opt

Windows 7 或更高版本:DNS_OPT_DATA RR 数据类型。 wType的值DNS_TYPE_OPT。

DS、Ds

Windows 7 或更高版本:RR 数据类型 DNS_DS_DATAwType的值DNS_TYPE_DS。

RRSIG、Rrsig

Windows 7 或更高版本:RR 数据类型 DNS_RRSIG_DATAwType的值DNS_TYPE_RRSIG。

NSEC、Nsec

Windows 7 或更高版本:RR 数据类型 为DNS_NSEC_DATAwType的值DNS_TYPE_NSEC。

DNSKEY、Dnskey

Windows 7 或更高版本:RR 数据类型 DNS_DNSKEY_DATAwType的值DNS_TYPE_DNSKEY。

TKEY、Tkey

RR 数据类型为 DNS_TKEY_DATAwType的值DNS_TYPE_TKEY。

TSIG、Tsig

RR 数据类型为 DNS_TSIG_DATAwType的值DNS_TYPE_TSIG。

WINS、Wins

RR 数据类型为 DNS_WINS_DATAwType的值DNS_TYPE_WINS。

WINSR、WinsR、NBSTAT、Nbstat

RR 数据类型是 DNS_WINSR_DATAwType的值DNS_TYPE_WINSR。

Data.A

RR 数据类型为 DNS_A_DATAwType的值DNS_TYPE_A。

Data.SOA

Data.Soa

Data.PTR

Data.Ptr

Data.NS

Data.Ns

Data.CNAME

Data.Cname

Data.DNAME

Data.Dname

Data.MB

Data.Mb

Data.MD

Data.Md

Data.MF

Data.Mf

Data.MG

Data.Mg

Data.MR

Data.Mr

Data.MINFO

Data.Minfo

Data.RP

Data.Rp

Data.MX

Data.Mx

Data.AFSDB

Data.Afsdb

Data.RT

Data.Rt

Data.HINFO

Data.Hinfo

Data.ISDN

Data.Isdn

Data.TXT

Data.Txt

Data.X25

Data.Null

RR 数据类型为 DNS_NULL_DATAwType的值DNS_TYPE_NULL。

Data.WKS

Data.Wks

Data.AAAA

RR 数据类型为 DNS_AAAA_DATAwType的值DNS_TYPE_AAAA。

Data.KEY

Data.Key

Data.SIG

Data.Sig

Data.ATMA

Data.Atma

Data.NXT

Data.Nxt

Data.SRV

Data.Srv

Data.NAPTR

Data.Naptr

Data.OPT

Data.Opt

Data.DS

Data.Ds

Data.RRSIG

Data.Rrsig

Data.NSEC

Data.Nsec

Data.DNSKEY

Data.Dnskey

Data.TKEY

Data.Tkey

Data.TSIG

Data.Tsig

Data.WINS

Data.Wins

Data.WINSR

Data.WinsR

Data.NBSTAT

Data.Nbstat

Data.DHCID

Windows 7 或更高版本:RR 数据类型 为DNS_DHCID_DATAwType的值DNS_TYPE_DHCID。

Data.NSEC3

Data.Nsec3

Data.NSEC3PARAM

Data.Nsec3Param

Data.TLSA

Data.Tlsa

Data.SVCB

Data.Svcb

Data.UNKNOWN

Data.Unknown

Data.pDataPtr

注解

生成 DNS_RECORD 列表作为 DNS API 中各种 DNS 更新例程的输入参数时, DNS_RECORD 结构中的所有标志都应设置为零。

注意

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

要求

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

另请参阅

DNS_AAAA_DATA

DNS_ATMA_DATA

DNS_A_DATA

DNS_DHCID_DATA

DNS_DNSKEY_DATA

DNS_DS_DATA

DNS_KEY_DATA

DNS_LOC_DATA

DNS_MINFO_DATA

DNS_MX_DATA

DNS_NAPTR_DATA

DNS_NSEC_DATA

DNS_NULL_DATA

DNS_NXT_DATA

DNS_OPT_DATA

DNS_PTR_DATA

DNS_RRSIG_DATA

DNS_SIG_DATA

DNS_SOA_DATA

DNS_SRV_DATA

DNS_TKEY_DATA

DNS_TSIG_DATA

DNS_TXT_DATA

DNS_WINSR_DATA

DNS_WINS_DATA

DNS_WKS_DATA

DnsExtractRecordsFromMessage

DnsModifyRecordsInSet

DnsQuery

DnsRecordCompare

DnsRecordCopyEx

DnsRecordSetCompare

DnsRecordSetDetach

DnsReplaceRecordSet