다음을 통해 공유


DNS_INTERFACE_SETTINGS3 구조체(netioapi.h)

SetInterfaceDnsSettings 함수를 호출하거나 GetInterfaceDnsSettings 함수를 호출하여 지정된 인터페이스에 대해 검색하여 지정된 인터페이스에서 구성할 수 있는 DNS 설정을 나타냅니다.

구문

typedef struct _DNS_INTERFACE_SETTINGS3 {
  ULONG               Version;
  ULONG64             Flags;
  PWSTR               Domain;
  PWSTR               NameServer;
  PWSTR               SearchList;
  ULONG               RegistrationEnabled;
  ULONG               RegisterAdapterName;
  ULONG               EnableLLMNR;
  ULONG               QueryAdapterName;
  PWSTR               ProfileNameServer;
  ULONG               DisableUnconstrainedQueries;
  PWSTR               SupplementalSearchList;
  ULONG               cServerProperties;
  DNS_SERVER_PROPERTY *ServerProperties;
  ULONG               cProfileServerProperties;
  DNS_SERVER_PROPERTY *ProfileServerProperties;
} DNS_INTERFACE_SETTINGS3;

멤버

Version

형식: ULONG

DNS_INTERFACE_SETTINGS_VERSION3 설정해야 합니다.

Flags

형식: ULONG64

다음 옵션의 비트맵입니다.

DNS_SETTING_IPV6 (0x0001). IPv6 네트워킹 스택에 대해서만 인터페이스 설정을 구성합니다. 이 옵션을 설정하면 NameServer 또는 ProfileNameServer 멤버에 지정된 모든 IP 주소는 IPv6 주소여야 합니다. 기본적으로 이 구조에 지정된 DNS 인터페이스 설정은 IPv4 네트워킹 스택에만 적용됩니다.

DNS_SETTING_NAMESERVER (0x0002). NameServer 멤버를 통해 지정된 인터페이스에서 정적 어댑터 DNS 서버를 구성합니다.

DNS_SETTING_SEARCHLIST (0x0004). SearchList 멤버를 통해 지정된 어댑터에 대한 연결 관련 DNS 접미사 검색 목록을 구성합니다.

DNS_SETTING_REGISTRATION_ENABLED (0x0008). 지정된 어댑터에 대한 동적 DNS 등록을 사용하거나 사용하지 않도록 설정합니다. 기본적으로 시스템에서 사용하도록 설정됩니다.

DNS_SETTING_DOMAIN (0x0020). 도메인 멤버를 통해 지정된 어댑터에 대한 연결별 DNS 접미사를 구성합니다.

DNS_SETTINGS_ENABLE_LLMNR (0x0080). 지정된 어댑터에서 LLMNR 및 mDNS를 사용하여 이름 확인을 사용하거나 사용하지 않도록 설정합니다. 기본적으로 시스템에서 사용하도록 설정됩니다.

DNS_SETTINGS_QUERY_ADAPTER_NAME (0x0100). DNS 쿼리에 대한 접미사로 어댑터 이름을 사용하거나 사용하지 않도록 설정합니다. 기본적으로 시스템에서 사용하도록 설정됩니다.

DNS_SETTING_PROFILE_NAMESERVER (0x0200). ProfileNameServer 멤버를 통해 지정된 인터페이스에서 정적 프로필 DNS 서버를 구성합니다.

DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800). SupplementalSearchList 멤버를 통해 지정된 어댑터에 대한 연결별 DNS 추가 접미사 검색 목록을 구성합니다.

DNS_SETTING_DOH (0x1000). cServerPropertiesServerProperties 멤버를 통해 지정된 어댑터에서 DNS over-HTTPS 설정을 구성합니다. 이 옵션을 설정하면 NameServer 멤버가 일련의 공백 또는 쉼표로 구분된 DNS 서버를 포함하는 유효한 문자열을 가리킬 수 있습니다.

DNS_SETTING_DOH_PROFILE (0x2000). cProfileServerPropertiesProfileServerProperties 멤버를 통해 지정된 어댑터에서 DNS over-HTTPS 설정을 구성합니다. 이 옵션을 설정하면 ProfileNameServer 멤버가 일련의 공백 또는 쉼표로 구분된 DNS 서버를 포함하는 유효한 문자열을 가리킬 수 있습니다.

Domain

형식: PWSTR

어댑터 도메인 이름을 포함하는 NULL로 종료된 와이드 문자열입니다.

NameServer

형식: PWSTR

일련의 쉼표 또는 공백으로 구분된 DNS 서버를 포함하는 NULL로 종료된 와이드 문자열입니다. 예를 들어 L"1.1.1.1 8.8.8"또는 L"1.1.1.1,8.8.8.8"입니다.

DNS_SETTING_IPV6 플래그가 있는 경우 서버는 IPv6 주소여야 합니다. 예를 들어 L"2606:4700:4700::1001,2606:4700:4700::1111".

SearchList

형식: PWSTR

일련의 쉼표 또는 공백으로 구분된 검색 이름을 포함하는 NULL로 끝나는 와이드 문자열입니다. 예를 들어 L"contoso1.com contoso2.com" 또는 L"contoso1.com, contoso2.com"입니다.

RegistrationEnabled

형식: ULONG

댑터 동적 등록을 사용하도록 설정하려면 TRUE이고, FALSE 를 사용하여 사용하지 않도록 설정합니다.

RegisterAdapterName

형식: ULONG

TRUE 이면 어댑터 이름 등록을 사용하도록 설정합니다. FALSE 를 사용하여 사용하지 않도록 설정합니다.

EnableLLMNR

형식: ULONG

TRUE 이면 지정된 인터페이스에서 mDNS 및 LLMNR을 사용하도록 설정합니다. FALSE 를 사용하여 사용하지 않도록 설정합니다.

QueryAdapterName

형식: ULONG

댑터 이름을 검색 접미사로 사용해야 하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

ProfileNameServer

형식: PWSTR

일련의 쉼표 또는 공백으로 구분된 DNS 서버를 포함하는 NULL로 종료된 와이드 문자열입니다. 예를 들어 L"1.1.1.1 8.8.8" 또는 L"1.1.1.1,8.8.8.8"이 있습니다.

DNS_SETTING_IPV6 플래그가 있는 경우 서버는 IPv6 주소여야 합니다. 예를 들어 L"2606:4700:4700::1001,2606:4700:4700::1111".

DisableUnconstrainedQueries

형식: ULONG

예약되어 있습니다.

SupplementalSearchList

형식: PWSTR

일련의 쉼표 또는 공백으로 구분된 검색 이름을 포함하는 NULL로 끝나는 와이드 문자열입니다. 예를 들어 L"contoso1.com contoso2.com" 또는 L"contoso1.com, contoso2.com"입니다.

cServerProperties

형식: ULONG

ServerProperties 멤버에 지정된 서버 속성의 수입니다. 이 값이 0이면 "ServerProperties" 멤버가 NULL이어야 합니다.

ServerProperties

형식: DNS_SERVER_PROPERTY*

cServerProperties 요소를 포함하는 DNS_SERVER_PROPERTY 구조체의 배열입니다. cServerProperties가 0이면 NULL이어야 합니다.

DNS over-HTTPS 속성만 지원되며 NameServer 멤버에 지정된 각 서버에 대해 최대 1개의 속성이 추가로 제한됩니다.

DNS_SERVER_PROPERTY::Version 멤버는 DNS_SERVER_PROPERTY_VERSION1, ::TypeDNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty로 설정해야 하며 Property.DohSettings는 유효한 DNS_DOH_SERVER_SETTINGS 개체를 가리킵니다.

DNS_SERVER_PROPERTYServerIndex 멤버는 NameServer 멤버에서 해당 DNS 서버의 인덱스로 설정해야 합니다.

예를 들어 NameServer 멤버가 L"1.1.1.1, 8.8.8, 9.9.9.9"로 설정된 경우 서버 1.1.1.1의 속성은 ServerIndex 멤버를 0으로 설정합니다. 마찬가지로 8.8.8.8에는 ServerIndex 가 1로 설정되고 9.9.9.9에는 ServerIndex 멤버가 2로 설정되어야 합니다.

cProfileServerProperties

형식: ULONG

ProfileServerProperties 멤버에 지정된 서버 속성의 수입니다. 이 값이 0이면 ProfileServerProperties 멤버가 NULL이어야 합니다.

ProfileServerProperties

형식: DNS_SERVER_PROPERTY*

cProfileServerProperties 요소를 포함하는 DNS_SERVER_PROPERTY 구조체의 배열입니다. cProfileServerProperties가 0이면 NULL이어야 합니다.

PROFILENameServer 멤버에 지정된 각 서버에 대해 최대 1개 속성의 추가 제한과 함께 DNS over-HTTPS 속성만 지원됩니다.

DNS_SERVER_PROPERTY::Version 멤버는 DNS_SERVER_PROPERTY_VERSION1, ::TypeDNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty로 설정해야 하며 Property.DohSettings는 유효한 DNS_DOH_SERVER_SETTINGS 개체를 가리킵니다.

DNS_SERVER_PROPERTYServerIndex 멤버는 ProfileNameServer 멤버에서 해당 DNS 서버의 인덱스로 설정해야 합니다.

예를 들어 ProfileNameServer 멤버가 L"1.1.1.1, 8.8.8, 9.9.9.9"로 설정된 경우 서버 1.1.1.1의 속성은 ServerIndex 멤버를 0으로 설정합니다. 마찬가지로 8.8.8.8에는 ServerIndex 가 1로 설정되고 9.9.9.9에는 ServerIndex 멤버가 2로 설정되어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 빌드 19645
지원되는 최소 서버 Windows 10 빌드 19645
머리글 netioapi.h(Iphlpapi.h 포함)

추가 정보