DNS_INTERFACE_SETTINGS3構造体 (netioapi.h)
SetInterfaceDnsSettings 関数を呼び出すか、GetInterfaceDnsSettings 関数を呼び出して特定のインターフェイスに対して取得することで、特定のインターフェイスで構成できる DNS 設定を表します。
構文
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 ネットワーク スタックのインターフェイス設定のみを構成します。 このオプションが設定されている場合、 NameServer メンバーまたは ProfileNameServer メンバーで指定された IP アドレスは IPv6 アドレスである必要があります。 既定では、この構造で指定された DNS インターフェイス設定は、IPv4 ネットワーク スタックにのみ適用されます。
DNS_SETTING_NAMESERVER (0x0002)。 NameServer メンバーを使用して、指定したインターフェイスで静的アダプター DNS サーバーを構成します。
DNS_SETTING_SEARCHLIST (0x0004)。 SearchList メンバーを使用して、特定のアダプターの接続固有の DNS サフィックス検索リストを構成します。
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)。 ProfileNameServer メンバーを使用して、指定したインターフェイスで静的プロファイル DNS サーバーを構成します。
DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800)。 SupplementalSearchList メンバーを使用して、指定されたアダプターの接続固有の DNS 補足サフィックス検索リストを構成します。
DNS_SETTING_DOH (0x1000)。 cServerProperties メンバーと ServerProperties メンバーを使用して、指定したアダプターで DNS over-HTTPS 設定を構成します。 このオプションが設定されている場合、 NameServer メンバーは、一連のスペースまたはコンマ区切りの DNS サーバーを含む有効な文字列を指す必要があります。
DNS_SETTING_DOH_PROFILE (0x2000)。 cProfileServerProperties メンバーと ProfileServerProperties メンバーを使用して、指定したアダプターでプロファイル DNS over HTTPS 設定を構成します。 このオプションが設定されている場合、 ProfileNameServer メンバーは、一連のスペースまたはコンマ区切りの DNS サーバーを含む有効な文字列を指す必要があります。
Domain
種類: PWSTR
アダプター ドメイン名を含む NULL で終わるワイド文字列。
NameServer
種類: PWSTR
一連のコンマまたはスペース区切りの DNS サーバーを含む NULL で終わるワイド文字列。 たとえば、L"1.1.1.1 8.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
指定 されたインターフェイスで mDNS と LLMNR を有効にする場合は TRUE。 FALSE を指定すると、無効になります。
QueryAdapterName
種類: ULONG
アダプター 名を検索サフィックスとして使用する必要がある場合は TRUE。それ以外の場合 は FALSE。
ProfileNameServer
種類: PWSTR
一連のコンマまたはスペース区切りの DNS サーバーを含む NULL で終わるワイド文字列。 たとえば、L"1.1.1.1 8.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*
cServerProperties 要素を含むDNS_SERVER_PROPERTY構造体の配列。 cServerProperties が 0 の場合、これは NULL である必要があります。
DNS over-HTTPS プロパティのみがサポートされており、 NameServer メンバーで指定された各サーバーに対して最大 1 つのプロパティの追加制限があります。
DNS_SERVER_PROPERTY::Version メンバーはDNS_SERVER_PROPERTY_VERSION1に設定する必要があります。::Type は DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty に設定する必要があり、Property.DohSettings は有効なDNS_DOH_SERVER_SETTINGS オブジェクトを指している必要があります。
DNS_SERVER_PROPERTYの ServerIndex メンバーは、NameServer メンバーの対応する DNS サーバーのインデックスに設定する必要があります。
たとえば、 NameServer メンバーが L"1.1.1.1、8.8.8.8、9.9.9.9" に設定されている場合、サーバー 1.1.1.1 のプロパティの ServerIndex メンバーは 0 に設定されます。 同様に、8.8.8.8 では ServerIndex が 1 に設定され、9.9.9.9 では ServerIndex メンバーが 2 に設定されている必要があります。
cProfileServerProperties
種類: ULONG
ProfileServerProperties メンバーで指定されたサーバー プロパティの数。 この値が 0 の場合、 ProfileServerProperties メンバーは NULL である必要があります。
ProfileServerProperties
種類: DNS_SERVER_PROPERTY*
cProfileServerProperties 要素を含むDNS_SERVER_PROPERTY構造体の配列。 cProfileServerProperties が 0 の場合、これは NULL である必要があります。
DNS over-HTTPS プロパティのみがサポートされており、 ProfileNameServer メンバーで指定された各サーバーに対して最大 1 つのプロパティの追加制限があります。
DNS_SERVER_PROPERTY::Version メンバーはDNS_SERVER_PROPERTY_VERSION1に設定する必要があります。::Type は DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty に設定する必要があり、Property.DohSettings は有効なDNS_DOH_SERVER_SETTINGS オブジェクトを指している必要があります。
DNS_SERVER_PROPERTYの ServerIndex メンバーは、ProfileNameServer メンバーの対応する DNS サーバーのインデックスに設定する必要があります。
たとえば、 ProfileNameServer メンバーが L"1.1.1.1、8.8.8.8、9.9.9.9" に設定されている場合、サーバー 1.1.1.1 のプロパティの ServerIndex メンバーは 0 に設定されます。 同様に、8.8.8.8 では ServerIndex が 1 に設定され、9.9.9.9 では ServerIndex メンバーが 2 に設定されている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 ビルド 19645 |
サポートされている最小のサーバー | Windows 10 ビルド 19645 |
Header | netioapi.h (Iphlpapi.h を含む) |