структура 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) |