Compartilhar via


estrutura DNS_RECORDW (windns.h)

A estrutura DNS_RECORD armazena um registro de recurso DNS (RR).

Sintaxe

typedef struct _DnsRecordW {
  struct _DnsRecordW *pNext;
  PWSTR              pName;
  WORD               wType;
  WORD               wDataLength;
  union {
    DWORD            DW;
    DNS_RECORD_FLAGS S;
  } Flags;
  DWORD              dwTtl;
  DWORD              dwReserved;
  union {
    DNS_A_DATA          A;
    DNS_SOA_DATAW       SOA;
    DNS_SOA_DATAW       Soa;
    DNS_PTR_DATAW       PTR;
    DNS_PTR_DATAW       Ptr;
    DNS_PTR_DATAW       NS;
    DNS_PTR_DATAW       Ns;
    DNS_PTR_DATAW       CNAME;
    DNS_PTR_DATAW       Cname;
    DNS_PTR_DATAW       DNAME;
    DNS_PTR_DATAW       Dname;
    DNS_PTR_DATAW       MB;
    DNS_PTR_DATAW       Mb;
    DNS_PTR_DATAW       MD;
    DNS_PTR_DATAW       Md;
    DNS_PTR_DATAW       MF;
    DNS_PTR_DATAW       Mf;
    DNS_PTR_DATAW       MG;
    DNS_PTR_DATAW       Mg;
    DNS_PTR_DATAW       MR;
    DNS_PTR_DATAW       Mr;
    DNS_MINFO_DATAW     MINFO;
    DNS_MINFO_DATAW     Minfo;
    DNS_MINFO_DATAW     RP;
    DNS_MINFO_DATAW     Rp;
    DNS_MX_DATAW        MX;
    DNS_MX_DATAW        Mx;
    DNS_MX_DATAW        AFSDB;
    DNS_MX_DATAW        Afsdb;
    DNS_MX_DATAW        RT;
    DNS_MX_DATAW        Rt;
    DNS_TXT_DATAW       HINFO;
    DNS_TXT_DATAW       Hinfo;
    DNS_TXT_DATAW       ISDN;
    DNS_TXT_DATAW       Isdn;
    DNS_TXT_DATAW       TXT;
    DNS_TXT_DATAW       Txt;
    DNS_TXT_DATAW       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_DATAW       SIG;
    DNS_SIG_DATAW       Sig;
    DNS_ATMA_DATA       ATMA;
    DNS_ATMA_DATA       Atma;
    DNS_NXT_DATAW       NXT;
    DNS_NXT_DATAW       Nxt;
    DNS_SRV_DATAW       SRV;
    DNS_SRV_DATAW       Srv;
    DNS_NAPTR_DATAW     NAPTR;
    DNS_NAPTR_DATAW     Naptr;
    DNS_OPT_DATA        OPT;
    DNS_OPT_DATA        Opt;
    DNS_DS_DATA         DS;
    DNS_DS_DATA         Ds;
    DNS_RRSIG_DATAW     RRSIG;
    DNS_RRSIG_DATAW     Rrsig;
    DNS_NSEC_DATAW      NSEC;
    DNS_NSEC_DATAW      Nsec;
    DNS_DNSKEY_DATA     DNSKEY;
    DNS_DNSKEY_DATA     Dnskey;
    DNS_TKEY_DATAW      TKEY;
    DNS_TKEY_DATAW      Tkey;
    DNS_TSIG_DATAW      TSIG;
    DNS_TSIG_DATAW      Tsig;
    DNS_WINS_DATA       WINS;
    DNS_WINS_DATA       Wins;
    DNS_WINSR_DATAW     WINSR;
    DNS_WINSR_DATAW     WinsR;
    DNS_WINSR_DATAW     NBSTAT;
    DNS_WINSR_DATAW     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_RECORDW, *PDNS_RECORDW;

Membros

pNext

Um ponteiro para a próxima estrutura DNS_RECORD.

pName

Um ponteiro para uma cadeia de caracteres que representa o nome de domínio do conjunto de registros. Isso deve estar no formato de cadeia de caracteres que corresponde à função chamada, como ANSI, Unicode ou UTF8.

wType

Um valor que representa o tipo de registro DNS RR. wType determina o formato de Data. Por exemplo, se o valor de wType for DNS_TYPE_A, o tipo de dados de Data será DNS_A_DATA.

wDataLength

O comprimento, em bytes, de data. Para tipos de dados de comprimento fixo, esse valor é o tamanho do tipo de dados correspondente, como sizeof(DNS_A_DATA). Para os tipos de dados não fixos, use uma das seguintes macros para determinar o comprimento dos dados:

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

Um valor que contém um bitmap de sinalizadores de registro DNS.

Flags.S

Um conjunto de sinalizadores na forma de uma estrutura DNS_RECORD_FLAGS.

dwTtl

O TTL (time to live) do DNS RR em segundos.

dwReserved

Reservado. Não use.

Data

O tipo de dados DNS RR é determinado por wType e é um dos seguintes membros:

SOA, Soa

O tipo de dados RR é DNS_SOA_DATA. O valor de wType é DNS_TYPE_SOA.

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

O tipo de dados RR é DNS_PTR_DATA. O valor do wType é DNS_TYPE_PTR.

MINFO, Minfo, RP, Rp

O tipo de dados RR é DNS_MINFO_DATA. O valor de wType é DNS_TYPE_MINFO.

MX, Mx, AFSDB, Afsdb, RT, Rt

O tipo de dados RR é DNS_MX_DATA. O valor de wType é DNS_TYPE_MX.

HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25

O tipo de dados RR é DNS_TXT_DATA. O valor de wType é DNS_TYPE_TEXT.

WKS, Wks

O tipo de dados RR é DNS_WKS_DATA. O valor de wType é DNS_TYPE_WKS.

CHAVE, Chave

O tipo de dados RR é DNS_KEY_DATA. O valor de wType é DNS_TYPE_KEY.

SIG, Sig

O tipo de dados RR é DNS_SIG_DATA. O valor de wType é DNS_TYPE_SIG.

ATMA, Atma

O tipo de dados RR é DNS_ATMA_DATA. O valor de wType é DNS_TYPE_ATMA.

NXT, Nxt

O tipo de dados RR é DNS_NXT_DATA. O valor de wType é DNS_TYPE_NXT.

SRV, Srv

O tipo de dados RR é DNS_SRV_DATA. O valor de wType é DNS_TYPE_SRV.

NAPTR, Naptr

O tipo de dados RR é DNS_NAPTR_DATA. O valor de wType é DNS_TYPE_NAPTR.

OPT, Opt

Windows 7 ou posterior: o tipo de dados RR é DNS_OPT_DATA. O valor de wType é DNS_TYPE_OPT.

DS, Ds

Windows 7 ou posterior: o tipo de dados RR é DNS_DS_DATA. O valor de wType é DNS_TYPE_DS.

RRSIG, Rrsig

Windows 7 ou posterior: o tipo de dados RR é DNS_RRSIG_DATA. O valor de wType é DNS_TYPE_RRSIG.

NSEC, Nsec

Windows 7 ou posterior: o tipo de dados RR é DNS_NSEC_DATA. O valor de wType é DNS_TYPE_NSEC.

DNSKEY, Dnskey

Windows 7 ou posterior: o tipo de dados RR é DNS_DNSKEY_DATA. O valor de wType é DNS_TYPE_DNSKEY.

TKEY, Tkey

O tipo de dados RR é DNS_TKEY_DATA. O valor do wType é DNS_TYPE_TKEY.

TSIG, Tsig

O tipo de dados RR é DNS_TSIG_DATA. O valor de wType é DNS_TYPE_TSIG.

WINS, Wins

O tipo de dados RR é DNS_WINS_DATA. O valor de wType é DNS_TYPE_WINS.

WINSR, WinsR, NBSTAT, Nbstat

O tipo de dados RR é DNS_WINSR_DATA. O valor de wType é DNS_TYPE_WINSR.

Data.A

O tipo de dados RR é DNS_A_DATA. O valor de wType é 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

O tipo de dados RR é DNS_NULL_DATA. O valor de wType é DNS_TYPE_NULL.

Data.WKS

Data.Wks

Data.AAAA

O tipo de dados RR é DNS_AAAA_DATA. O valor de wType é 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 ou posterior: o tipo de dados RR é DNS_DHCID_DATA. O valor de wType é 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

Observações

Ao criar uma lista de DNS_RECORD como um argumento de entrada para as várias rotinas de atualização de DNS encontradas na API DNS, todos os sinalizadores na estrutura de DNS_RECORD devem ser definidos como zero.

Nota

O cabeçalho windns.h define DNS_RECORD como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
cabeçalho windns.h

Consulte também

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