다음을 통해 공유


DNS_RECORDW 구조체(windns.h)

DNS_RECORD 구조는 DNS RR(리소스 레코드)을 저장합니다.

구문

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;

멤버

pNext

다음 DNS_RECORD 구조체에 대한 포인터입니다.

pName

레코드 집합의 도메인 이름을 나타내는 문자열에 대한 포인터입니다. ANSI, 유니코드 또는 UTF8과 같이 호출된 함수에 해당하는 문자열 형식이어야 합니다.

wType

RR DNS 레코드 형식을 나타내는 값입니다. wType데이터 형식을 결정합니다. 예를 들어 wType 값이 DNS_TYPE_A 경우 데이터 형식은 DNS_A_DATA.

wDataLength

데이터의 길이(바이트) 입니다. 고정 길이 데이터 형식의 경우 이 값은 sizeof(DNS_A_DATA)와 같은 해당 데이터 형식의 크기입니다. 고정이 아닌 데이터 형식의 경우 다음 매크로 중 하나를 사용하여 데이터 길이를 확인합니다.

C++
<windows.h #include>

#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(Time To Live) 값(초)입니다.

dwReserved

예약되어 있습니다. 사용하지 마십시오.

Data

DNS RR 데이터 형식은 wType 에 의해 결정되며 다음 멤버 중 하나입니다.

SOA, Soa

RR 데이터 형식은 DNS_SOA_DATA. wType 값은 DNS_TYPE_SOA.

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

RR 데이터 형식은 DNS_PTR_DATA. wType 값은 DNS_TYPE_PTR.

MINFO, Minfo, RP, Rp

RR 데이터 형식은 DNS_MINFO_DATA. wType 값은 DNS_TYPE_MINFO.

MX, Mx, AFSDB, Afsdb, RT, Rt

RR 데이터 형식은 DNS_MX_DATA. wType 값은 DNS_TYPE_MX.

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

RR 데이터 형식은 DNS_TXT_DATA. wType 값은 DNS_TYPE_TEXT.

WKS, Wks

RR 데이터 형식은 DNS_WKS_DATA. wType 값은 DNS_TYPE_WKS.

KEY, Key

RR 데이터 형식은 DNS_KEY_DATA. wType 값은 DNS_TYPE_KEY.

SIG, Sig

RR 데이터 형식은 DNS_SIG_DATA. wType 값은 DNS_TYPE_SIG.

ATMA, Atma

RR 데이터 형식은 DNS_ATMA_DATA. wType 값은 DNS_TYPE_ATMA.

NXT, Nxt

RR 데이터 형식은 DNS_NXT_DATA. wType 값은 DNS_TYPE_NXT.

SRV, Srv

RR 데이터 형식은 DNS_SRV_DATA. wType 값은 DNS_TYPE_SRV.

NAPTR, Naptr

RR 데이터 형식은 DNS_NAPTR_DATA. wType 값은 DNS_TYPE_NAPTR.

OPT, Opt

Windows 7 이상: RR 데이터 형식이 DNS_OPT_DATA. wType 값은 DNS_TYPE_OPT.

DS, Ds

Windows 7 이상: RR 데이터 형식이 DNS_DS_DATA. wType 값은 DNS_TYPE_DS.

RRSIG, Rrsig

Windows 7 이상: RR 데이터 형식이 DNS_RRSIG_DATA. wType 값은 DNS_TYPE_RRSIG.

NSEC, Nsec

Windows 7 이상: RR 데이터 형식이 DNS_NSEC_DATA. wType 값은 DNS_TYPE_NSEC.

DNSKEY, Dnskey

Windows 7 이상: RR 데이터 형식이 DNS_DNSKEY_DATA. wType 값은 DNS_TYPE_DNSKEY.

TKEY, Tkey

RR 데이터 형식은 DNS_TKEY_DATA. wType 값은 DNS_TYPE_TKEY.

TSIG, Tsig

RR 데이터 형식은 DNS_TSIG_DATA. wType 값은 DNS_TYPE_TSIG.

WINS, Wins

RR 데이터 형식은 DNS_WINS_DATA. wType 값은 DNS_TYPE_WINS.

WINSR, WinsR, NBSTAT, Nbstat

RR 데이터 형식은 DNS_WINSR_DATA. wType 값은 DNS_TYPE_WINSR.

Data.A

RR 데이터 형식은 DNS_A_DATA. 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

RR 데이터 형식은 DNS_NULL_DATA. wType 값은 DNS_TYPE_NULL.

Data.WKS

Data.Wks

Data.AAAA

RR 데이터 형식은 DNS_AAAA_DATA. 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 이상: RR 데이터 형식이 DNS_DHCID_DATA. 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

설명

DNS API에 있는 다양한 DNS 업데이트 루틴에 대한 입력 인수로 DNS_RECORD 목록을 빌드하는 경우 DNS_RECORD 구조의 모든 플래그를 0으로 설정해야 합니다.

참고

windns.h 헤더는 DNS_RECORD 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 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