共用方式為


(netioapi.h) DNS_INTERFACE_SETTINGS3 結構

表示可在指定介面上設定的 DNS 設定,方法是呼叫 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 網路堆疊的介面設定。 如果已設定此選項, 則 NameServerProfileNameServer 成員中指定的任何 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

以 NULL 結尾的寬字串,包含一系列逗號或空格分隔的 DNS 伺服器。 例如,L“1.1.1.1 8.8.8.8” 或 L“1.1.1,8.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

以 NULL 結尾的寬字串,包含一系列逗號或空格分隔的 DNS 伺服器。 例如,L“1.1.1.1 8.8.8.8” 或 L“1.1.1,8.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*

DNS_SERVER_PROPERTY 結構的陣列,包含 cServerProperties 元素。 如果 cServerProperties 為 0,則這必須是 NULL。

僅支援 DNS-over-HTTPS 屬性,且 NameServer 成員中指定的每部伺服器最多限制 1 個屬性。

DNS_SERVER_PROPERTY::Version 成員必須設定為 DNS_SERVER_PROPERTY_VERSION1::Type 必須設定為 DNS_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.8、9.9.9.9.9”,則伺服器 1.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*

DNS_SERVER_PROPERTY 結構的陣列,包含 cProfileServerProperties 元素。 如果 cProfileServerProperties 為 0,則這必須是 NULL。

僅支援 DNS-over-HTTPS 屬性,且 ProfileNameServer 成員中指定的每部伺服器最多限制 1 個屬性。

DNS_SERVER_PROPERTY::Version 成員必須設定為 DNS_SERVER_PROPERTY_VERSION1::Type 必須設定為 DNS_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.8、9.9.9.9.9”,則伺服器 1.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)

另請參閱