DNS_INTERFACE_SETTINGS3-Struktur (netioapi.h)

Stellt die DNS-Einstellungen dar, die auf einer bestimmten Schnittstelle durch Aufrufen der SetInterfaceDnsSettings-Funktion konfiguriert oder für eine bestimmte Schnittstelle durch Aufrufen der GetInterfaceDnsSettings-Funktion abgerufen werden können.

Syntax

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;

Member

Version

Typ: ULONG

Muss auf DNS_INTERFACE_SETTINGS_VERSION3 festgelegt werden.

Flags

Typ: ULONG64

Eine Bitmap der folgenden Optionen.

DNS_SETTING_IPV6 (0x0001). Konfiguriert die Schnittstelleneinstellungen nur für den IPv6-Netzwerkstapel. Wenn diese Option festgelegt ist, müssen alle IP-Adressen, die in den Membern NameServer oder ProfileNameServer angegeben sind, IPv6-Adressen sein. Standardmäßig werden die in dieser Struktur angegebenen DNS-Schnittstelleneinstellungen nur auf den IPv4-Netzwerkstapel angewendet.

DNS_SETTING_NAMESERVER (0x0002). Konfiguriert die DNS-Server des statischen Adapters auf der angegebenen Schnittstelle über den NameServer-Member .

DNS_SETTING_SEARCHLIST (0x0004). Konfiguriert die verbindungsspezifische DNS-Suffixsuchliste für den angegebenen Adapter über das SearchList-Element .

DNS_SETTING_REGISTRATION_ENABLED (0x0008). Aktiviert oder deaktiviert die dynamische DNS-Registrierung für den angegebenen Adapter. Dies ist standardmäßig systemfähig.

DNS_SETTING_DOMAIN (0x0020). Konfiguriert das verbindungsspezifische DNS-Suffix für den angegebenen Adapter über das Domänenmitglied .

DNS_SETTINGS_ENABLE_LLMNR (0x0080). Aktiviert oder deaktiviert die Namensauflösung mithilfe von LLMNR und mDNS auf dem angegebenen Adapter. Dies ist standardmäßig systemfähig.

DNS_SETTINGS_QUERY_ADAPTER_NAME (0x0100). Aktiviert oder deaktiviert die Verwendung des Adapternamens als Suffix für DNS-Abfragen. Dies ist standardmäßig systemfähig.

DNS_SETTING_PROFILE_NAMESERVER (0x0200). Konfiguriert statische DNS-Profilserver auf der angegebenen Schnittstelle über das ProfileNameServer-Element .

DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800). Konfiguriert die verbindungsspezifische DNS-Zusatzsuffixsuchliste für den angegebenen Adapter über das SupplementalSearchList-Element .

DNS_SETTING_DOH (0x1000). Konfiguriert DNS-over-HTTPS-Einstellungen für den angegebenen Adapter über die Member cServerProperties und ServerProperties . Wenn diese Option festgelegt ist, muss das NameServer-Element auf eine gültige Zeichenfolge zeigen, die eine Reihe von durch Leerzeichen oder durch Trennzeichen getrennten DNS-Servern enthält.

DNS_SETTING_DOH_PROFILE (0x2000). Konfiguriert DNS-over-HTTPS-Profileinstellungen auf dem angegebenen Adapter über die Member cProfileServerProperties und ProfileServerProperties . Wenn diese Option festgelegt ist, muss das ProfileNameServer-Element auf eine gültige Zeichenfolge verweisen, die eine Reihe leerer oder durch Trennzeichen getrennter DNS-Server enthält.

Domain

Typ: PWSTR

Eine mit NULL beendete breite Zeichenfolge, die den Domänennamen des Adapters enthält.

NameServer

Typ: PWSTR

Eine mit NULL endende breite Zeichenfolge, die eine Reihe von durch Kommas oder leerzeichentrennten DNS-Servern enthält. Beispiel: L"1.1.1.1 8.8.8.8" oder L"1.1.1.1,8.8.8.8".

Wenn das flag DNS_SETTING_IPV6 vorhanden ist, müssen die Server IPv6-Adressen sein. Beispiel: L"2606:4700:4700::1001,2606:4700:4700::1111".

SearchList

Typ: PWSTR

Eine mit NULL endende breite Zeichenfolge, die eine Reihe von durch Kommas oder Leerzeichen getrennten Suchnamen enthält. Beispiel: L"contoso1.com contoso2.com", oder L"contoso1.com, contoso2.com".

RegistrationEnabled

Typ: ULONG

TRUE , um die dynamische Registrierung des Adapters zu aktivieren; FALSE , um es zu deaktivieren.

RegisterAdapterName

Typ: ULONG

TRUE , um die Registrierung des Adapternamens zu aktivieren; FALSE , um es zu deaktivieren.

EnableLLMNR

Typ: ULONG

TRUE , um mDNS und LLMNR auf der angegebenen Schnittstelle zu aktivieren; FALSE , um sie zu deaktivieren.

QueryAdapterName

Typ: ULONG

TRUE , wenn der Adaptername als Suchsuffix verwendet werden soll; andernfalls FALSE.

ProfileNameServer

Typ: PWSTR

Eine mit NULL endende breite Zeichenfolge, die eine Reihe von durch Kommas oder leerzeichentrennten DNS-Servern enthält. Beispiel: L"1.1.1.1 8.8.8.8" oder L"1.1.1.1,8.8.8.8".

Wenn das flag DNS_SETTING_IPV6 vorhanden ist, müssen die Server IPv6-Adressen sein. Beispiel: L"2606:4700:4700::1001,2606:4700:4700::1111".

DisableUnconstrainedQueries

Typ: ULONG

Reserviert.

SupplementalSearchList

Typ: PWSTR

Eine mit NULL endende breite Zeichenfolge, die eine Reihe von durch Kommas oder Leerzeichen getrennten Suchnamen enthält. Beispiel: L"contoso1.com contoso2.com", oder L"contoso1.com, contoso2.com".

cServerProperties

Typ: ULONG

Die Anzahl der Servereigenschaften, die im ServerProperties-Element angegeben sind. Wenn dies gleich 0 ist, muss der Member "ServerProperties" NULL sein.

ServerProperties

Typ: DNS_SERVER_PROPERTY*

Ein Array von DNS_SERVER_PROPERTY-Strukturen , das cServerProperties-Elemente enthält. Wenn cServerProperties 0 ist, muss dies NULL sein.

Es werden nur DNS-over-HTTPS-Eigenschaften unterstützt, wobei die zusätzliche Einschränkung von maximal 1 Eigenschaft für jeden Server im NameServer-Member angegeben ist.

Das element DNS_SERVER_PROPERTY::Version muss auf DNS_SERVER_PROPERTY_VERSION1, ::Type auf DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty und Property.DohSettings muss auf ein gültiges DNS_DOH_SERVER_SETTINGS-Objekt zeigen.

Der ServerIndex-Member des DNS_SERVER_PROPERTY muss auf den Index des entsprechenden DNS-Servers aus dem NameServer-Member festgelegt werden.

Wenn der NameServer-Member beispielsweise auf L"1.1.1.1.1, 8.8.8.8, 9.9.9.9" festgelegt ist, wird für eine Eigenschaft für den Server 1.1.1.1 das ServerIndex-Element auf 0 festgelegt. Entsprechend erfordert 8.8.8.8, dass ServerIndex auf 1 festgelegt ist, und 9.9.9.9 erfordert, dass der ServerIndex-Member auf 2 festgelegt ist.

cProfileServerProperties

Typ: ULONG

Die Anzahl der Servereigenschaften, die im ProfileServerProperties-Element angegeben sind. Wenn dies gleich 0 ist, muss der ProfileServerProperties-Member NULL sein.

ProfileServerProperties

Typ: DNS_SERVER_PROPERTY*

Ein Array von DNS_SERVER_PROPERTY-Strukturen , das cProfileServerProperties-Elemente enthält. Wenn cProfileServerProperties 0 ist, muss dies NULL sein.

Es werden nur DNS-over-HTTPS-Eigenschaften unterstützt, wobei die zusätzliche Einschränkung von maximal 1 Eigenschaft für jeden Server im ProfileNameServer-Element angegeben ist.

Das element DNS_SERVER_PROPERTY::Version muss auf DNS_SERVER_PROPERTY_VERSION1, ::Type auf DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty und Property.DohSettings muss auf ein gültiges DNS_DOH_SERVER_SETTINGS-Objekt zeigen.

Das ServerIndex-Element des DNS_SERVER_PROPERTY muss auf den Index des entsprechenden DNS-Servers aus dem ProfileNameServer-Member festgelegt werden.

Wenn das ProfileNameServer-Element beispielsweise auf L"1.1.1.1,1, 8.8.8.8, 9.9.9.9" festgelegt ist, würde für eine Eigenschaft für den Server 1.1.1.1 das ServerIndex-Element auf 0 festgelegt sein. Entsprechend erfordert 8.8.8.8, dass ServerIndex auf 1 festgelegt ist, und 9.9.9.9 erfordert, dass der ServerIndex-Member auf 2 festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 19645
Unterstützte Mindestversion (Server) Windows 10 Build 19645
Kopfzeile netioapi.h (include Iphlpapi.h)

Weitere Informationen