Поделиться через


структура DNS_INTERFACE_SETTINGS3 (netioapi.h)

Представляет параметры DNS, которые можно настроить в заданном интерфейсе путем вызова функции SetInterfaceDnsSettings или получить для данного интерфейса путем вызова функции GetInterfaceDnsSettings .

Синтаксис

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. Если этот параметр задан, все IP-адреса, указанные в элементах NameServer или ProfileNameServer, должны быть IPv6-адресами. По умолчанию параметры интерфейса DNS, указанные в этой структуре, применяются только к сетевому стеку IPv4.

DNS_SETTING_NAMESERVER (0x0002). Настраивает DNS-серверы статического адаптера на указанном интерфейсе с помощью элемента NameServer .

DNS_SETTING_SEARCHLIST (0x0004). Настраивает список поиска DNS-суффиксов для конкретного адаптера с помощью элемента SearchList .

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). Настраивает DNS-серверы статического профиля в указанном интерфейсе с помощью элемента ProfileNameServer .

DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800). Настраивает список поиска дополнительных DNS-суффиксов для конкретного подключения для данного адаптера с помощью элемента SupplementalSearchList .

DNS_SETTING_DOH (0x1000). Настраивает параметры DNS-over-HTTPS для указанного адаптера с помощью элементов cServerProperties и ServerProperties . Если этот параметр задан, член NameServer должен указывать на допустимую строку, содержащую ряд DNS-серверов с разделительная пробелами или запятыми.

DNS_SETTING_DOH_PROFILE (0x2000). Настраивает параметры профиля DNS-over-HTTPS для указанного адаптера с помощью элементов cProfileServerProperties и ProfileServerProperties . Если этот параметр установлен, то элемент ProfileNameServer должен указывать на допустимую строку, содержащую ряд DNS-серверов с разделительная пробелами или запятыми.

Domain

Тип: PWSTR

Строка с завершением NULL, содержащая доменное имя адаптера.

NameServer

Тип: PWSTR

Строка с завершением NULL, содержащая ряд DNS-серверов, разделенных запятыми или пробелами. Например, 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

Строка с завершением NULL, содержащая ряд DNS-серверов, разделенных запятыми или пробелами. Например, 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*

Массив DNS_SERVER_PROPERTY структур, содержащих элементы cServerProperties . Если cServerProperties имеет значение 0, это значение должно иметь значение NULL.

Поддерживаются только свойства DNS-over-HTTPS с дополнительным ограничением не более 1 свойства для каждого сервера, указанного в элементе NameServer .

Элемент DNS_SERVER_PROPERTY::Version должен иметь значение DNS_SERVER_PROPERTY_VERSION1, параметру ::Typeзначение DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty, а свойство Property.DohSettings должно указывать на допустимый объект DNS_DOH_SERVER_SETTINGS .

Элемент ServerIndexDNS_SERVER_PROPERTY должен иметь индекс соответствующего DNS-сервера из элемента NameServer .

Например, если элемент NameServer имеет значение L"1.1.1.1, 8.8.8.8, 9.9.9.9", то свойство сервера 1.1.1.1 будет иметь значение 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 с дополнительным ограничением не более 1 свойства для каждого сервера, указанного в элементе ProfileNameServer .

Элемент DNS_SERVER_PROPERTY::Version должен иметь значение DNS_SERVER_PROPERTY_VERSION1, для параметра ::Typeзначение DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty , а свойство Property.DohSettings — на допустимый объект DNS_DOH_SERVER_SETTINGS .

Элемент ServerIndexDNS_SERVER_PROPERTY должен иметь индекс соответствующего DNS-сервера из элемента ProfileNameServer .

Например, если для элемента ProfileNameServer задано значение L"1.1.1.1, 8.8.8.8, 9.9.9.9", то свойство сервера 1.1.1.1 будет иметь значение 0 . Аналогичным образом для версии 8.8.8.8 требуется значение ServerIndex 1, а для 9.9.9.9 для элемента ServerIndex — значение 2.

Требования

Требование Значение
Минимальная версия клиента Windows 10 сборка 19645
Минимальная версия сервера Windows 10 сборка 19645
Верхняя часть netioapi.h (включая Iphlpapi.h)

См. также раздел