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) |