(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 網路堆疊的介面設定。 如果已設定此選項, 則 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) 。 透過 cServerProperties 和 ServerProperties 成員,在指定的配接器上設定 DNS-over-HTTPS 設定。 如果已設定此選項, 則 NameServer 成員必須指向包含一系列空格或逗號分隔 DNS 伺服器的有效字串。
DNS_SETTING_DOH_PROFILE (0x2000) 。 透過 cProfileServerProperties 和 ProfileServerProperties 成員,在指定的配接器上設定配置檔 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_PROPERTY的 ServerIndex 成員必須設定為 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_PROPERTY的 ServerIndex 成員必須設定為來自 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) |