Partager via


DNS_INTERFACE_SETTINGS3 structure (netioapi.h)

Représente les paramètres DNS qui peuvent être configurés sur une interface donnée en appelant la fonction SetInterfaceDnsSettings ou récupérés pour une interface donnée en appelant la fonction GetInterfaceDnsSettings .

Syntaxe

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;

Membres

Version

Type : ULONG

Doit être défini sur DNS_INTERFACE_SETTINGS_VERSION3.

Flags

Type : ULONG64

Bitmap des options suivantes.

DNS_SETTING_IPV6 (0x0001). Configure les paramètres d’interface uniquement pour la pile réseau IPv6. Si cette option est définie, toutes les adresses IP spécifiées dans les membres NameServer ou ProfileNameServer doivent être des adresses IPv6. Par défaut, les paramètres d’interface DNS spécifiés dans cette structure sont appliqués uniquement à la pile réseau IPv4.

DNS_SETTING_NAMESERVER (0x0002). Configure les serveurs DNS de l’adaptateur statique sur l’interface spécifiée via le membre NameServer .

DNS_SETTING_SEARCHLIST (0x0004). Configure la liste de recherche de suffixe DNS spécifique à la connexion pour l’adaptateur donné via le membre SearchList .

DNS_SETTING_REGISTRATION_ENABLED (0x0008). Active ou désactive l’inscription DNS dynamique pour l’adaptateur donné. Il s’agit d’un système activé par défaut.

DNS_SETTING_DOMAIN (0x0020). Configure le suffixe DNS spécifique à la connexion pour l’adaptateur donné via le membre Domain .

DNS_SETTINGS_ENABLE_LLMNR (0x0080). Active ou désactive la résolution de noms à l’aide de LLMNR et mDNS sur l’adaptateur spécifié. Il s’agit d’un système activé par défaut.

DNS_SETTINGS_QUERY_ADAPTER_NAME (0x0100). Active ou désactive l’utilisation du nom de l’adaptateur comme suffixe pour les requêtes DNS. Il s’agit d’un système activé par défaut.

DNS_SETTING_PROFILE_NAMESERVER (0x0200). Configure les serveurs DNS de profil statique sur l’interface spécifiée via le membre ProfileNameServer .

DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800). Configure la liste de recherche de suffixes DNS supplémentaires spécifiques à la connexion pour l’adaptateur donné via le membre SupplementalSearchList .

DNS_SETTING_DOH (0x1000). Configure les paramètres DNS-over-HTTPS sur l’adaptateur spécifié via les membres cServerProperties et ServerProperties . Si cette option est définie, le membre NameServer doit pointer vers une chaîne valide contenant une série de serveurs DNS séparés par des espaces ou des virgules.

DNS_SETTING_DOH_PROFILE (0x2000). Configure les paramètres DNS-over-HTTPS de profil sur l’adaptateur spécifié via les membres cProfileServerProperties et ProfileServerProperties . Si cette option est définie, le membre ProfileNameServer doit pointer vers une chaîne valide contenant une série de serveurs DNS séparés par des espaces ou des virgules.

Domain

Type : PWSTR

Chaîne large terminée par NULL contenant le nom de domaine de l’adaptateur.

NameServer

Type : PWSTR

Chaîne large terminée par null contenant une série de serveurs DNS séparés par des virgules ou des espaces. Par exemple, L"1.1.1.1 8.8.8.8 », ou L"1.1.1,8.8.8.8.8 ».

Si l’indicateur DNS_SETTING_IPV6 est présent, les serveurs doivent être des adresses IPv6. Par exemple, L"2606 :4700 :4700 ::1001,2606 :4700 :4700 ::1111 ».

SearchList

Type : PWSTR

Chaîne large terminée par NULL contenant une série de noms de recherche séparés par des virgules ou des espaces. Par exemple, L"contoso1.com contoso2.com », ou L"contoso1.com, contoso2.com ».

RegistrationEnabled

Type : ULONG

TRUE pour activer l’inscription dynamique de l’adaptateur ; FALSE pour la désactiver.

RegisterAdapterName

Type : ULONG

TRUE pour activer l’inscription du nom de l’adaptateur ; FALSE pour la désactiver.

EnableLLMNR

Type : ULONG

TRUE pour activer mDNS et LLMNR sur l’interface donnée ; FALSE pour les désactiver.

QueryAdapterName

Type : ULONG

TRUE si le nom de l’adaptateur doit être utilisé comme suffixe de recherche ; sinon , FALSE.

ProfileNameServer

Type : PWSTR

Chaîne large terminée par null contenant une série de serveurs DNS séparés par des virgules ou des espaces. Par exemple, L"1.1.1.1 8.8.8 » ou L"1.1.1.1,8.8.8.8.8 ».

Si l’indicateur DNS_SETTING_IPV6 est présent, les serveurs doivent être des adresses IPv6. Par exemple, L"2606 :4700 :4700 ::1001,2606 :4700 :4700 ::1111 ».

DisableUnconstrainedQueries

Type : ULONG

Réservé.

SupplementalSearchList

Type : PWSTR

Chaîne large terminée par NULL contenant une série de noms de recherche séparés par des virgules ou des espaces. Par exemple, L"contoso1.com contoso2.com », ou L"contoso1.com, contoso2.com ».

cServerProperties

Type : ULONG

Nombre de propriétés de serveur spécifiées dans le membre ServerProperties . Si cette valeur est égale à 0, le membre « ServerProperties » doit être NULL.

ServerProperties

Type : DNS_SERVER_PROPERTY*

Tableau de structures DNS_SERVER_PROPERTY , contenant des éléments cServerProperties . Si cServerProperties a la valeur 0, cette valeur doit être NULL.

Seules les propriétés DNS-over-HTTPS sont prises en charge, avec la restriction supplémentaire d’au plus 1 propriété pour chaque serveur spécifié dans le membre NameServer .

Le membre DNS_SERVER_PROPERTY ::Version doit être défini sur DNS_SERVER_PROPERTY_VERSION1, ::Type doit être défini sur DNS_SERVER_PROPERTY_TYPE ::D nsServerDohProperty et l’objet Property.DohSettings doit pointer vers un objet DNS_DOH_SERVER_SETTINGS valide.

Le membre ServerIndex du DNS_SERVER_PROPERTY doit être défini sur l’index du serveur DNS correspondant du membre NameServer .

Par exemple, si le membre NameServer est défini sur L"1.1.1.1, 8.8.8.8, 9.9.9.9 », une propriété pour le serveur 1.1.1.1 a la valeur 0 pour le membre ServerIndex . De même, 8.8.8.8 exigerait que ServerIndex soit défini sur 1, et 9.9.9.9 nécessite que le membre ServerIndex soit défini sur 2.

cProfileServerProperties

Type : ULONG

Nombre de propriétés de serveur spécifiées dans le membre ProfileServerProperties . Si cette valeur est égale à 0, le membre ProfileServerProperties doit être NULL.

ProfileServerProperties

Type : DNS_SERVER_PROPERTY*

Tableau de structures DNS_SERVER_PROPERTY , contenant des éléments cProfileServerProperties . Si cProfileServerProperties a la valeur 0, cela doit être NULL.

Seules les propriétés DNS-over-HTTPS sont prises en charge, avec la restriction supplémentaire d’au plus 1 propriété pour chaque serveur spécifié dans le membre ProfileNameServer .

Le membre DNS_SERVER_PROPERTY ::Version doit être défini sur DNS_SERVER_PROPERTY_VERSION1, ::Type doit être défini sur DNS_SERVER_PROPERTY_TYPE ::D nsServerDohProperty et property.DohSettings doit pointer vers un objet DNS_DOH_SERVER_SETTINGS valide.

Le membre ServerIndex du DNS_SERVER_PROPERTY doit être défini sur l’index du serveur DNS correspondant à partir du membre ProfileNameServer .

Par exemple, si le membre ProfileNameServer est défini sur L"1.1.1.1, 8.8.8.8, 9.9.9.9 », une propriété pour le serveur 1.1.1.1.1 aurait le membre ServerIndex défini sur 0. De même, 8.8.8.8 exigerait que ServerIndex soit défini sur 1, et 9.9.9.9 nécessite que le membre ServerIndex soit défini sur 2.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 19645
Serveur minimal pris en charge Windows 10 Build 19645
En-tête netioapi.h (include Iphlpapi.h)

Voir aussi