estrutura DNS_INTERFACE_SETTINGS3 (netioapi.h)

Representa as configurações de DNS que podem ser definidas em uma determinada interface chamando a função SetInterfaceDnsSettings ou recuperadas para uma determinada interface chamando a função GetInterfaceDnsSettings .

Sintaxe

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;

Membros

Version

Tipo: ULONG

Deve ser definido como DNS_INTERFACE_SETTINGS_VERSION3.

Flags

Tipo: ULONG64

Um bitmap das opções a seguir.

DNS_SETTING_IPV6 (0x0001). Define as configurações de interface somente para a pilha de rede IPv6. Se essa opção estiver definida, todos os endereços IP especificados nos membros NameServer ou ProfileNameServer deverão ser endereços IPv6. Por padrão, as configurações de interface DNS especificadas nessa estrutura são aplicadas somente à pilha de rede IPv4.

DNS_SETTING_NAMESERVER (0x0002). Configura servidores DNS do adaptador estático na interface especificada por meio do membro NameServer .

DNS_SETTING_SEARCHLIST (0x0004). Configura a lista de pesquisa de sufixo DNS específica da conexão para o adaptador fornecido por meio do membro SearchList .

DNS_SETTING_REGISTRATION_ENABLED (0x0008). Habilita ou desabilita o registro DNS dinâmico para o adaptador especificado. Isso é habilitado pelo sistema por padrão.

DNS_SETTING_DOMAIN (0x0020). Configura o sufixo DNS específico da conexão para o adaptador fornecido por meio do membro Domain .

DNS_SETTINGS_ENABLE_LLMNR (0x0080). Habilita ou desabilita a resolução de nomes usando LLMNR e mDNS no adaptador especificado. Isso é habilitado pelo sistema por padrão.

DNS_SETTINGS_QUERY_ADAPTER_NAME (0x0100). Habilita ou desabilita o uso do nome do adaptador como um sufixo para consultas DNS. Isso é habilitado pelo sistema por padrão.

DNS_SETTING_PROFILE_NAMESERVER (0x0200). Configura servidores DNS de perfil estático na interface especificada por meio do membro ProfileNameServer .

DNS_SETTING_SUPPLEMENTAL_SEARCH_LIST (0x0800). Configura a lista de pesquisa de sufixo suplementar DNS específica da conexão para o adaptador fornecido por meio do membro SupplementalSearchList .

DNS_SETTING_DOH (0x1000). Define as configurações de DNS sobre HTTPS no adaptador especificado por meio dos membros cServerProperties e ServerProperties . Se essa opção for definida, o membro NameServer deverá apontar para uma cadeia de caracteres válida que contém uma série de servidores DNS separados por espaços ou vírgulas.

DNS_SETTING_DOH_PROFILE (0x2000). Define as configurações de DNS sobre HTTPS de perfil no adaptador especificado por meio dos membros cProfileServerProperties e ProfileServerProperties . Se essa opção for definida, o membro ProfileNameServer deverá apontar para uma cadeia de caracteres válida que contém uma série de servidores DNS separados por espaços ou vírgulas.

Domain

Tipo: PWSTR

Uma cadeia de caracteres larga terminada em NULL que contém o nome de domínio do adaptador.

NameServer

Tipo: PWSTR

Uma cadeia de caracteres larga terminada em NULL que contém uma série de servidores DNS separados por vírgula ou por espaço. Por exemplo, L"1.1.1.1 8.8.8.8" ou L"1.1.1.1,8.8.8.8".

Se o sinalizador DNS_SETTING_IPV6 estiver presente, os servidores deverão ser endereços IPv6. Por exemplo, L"2606:4700:4700::1001,2606:4700:4700::1111".

SearchList

Tipo: PWSTR

Uma cadeia de caracteres larga terminada em NULL que contém uma série de nomes de pesquisa separados por vírgulas ou por espaço. Por exemplo, L"contoso1.com contoso2.com" ou L"contoso1.com, contoso2.com".

RegistrationEnabled

Tipo: ULONG

TRUE para habilitar o registro dinâmico do adaptador; FALSE para desabilitá-lo.

RegisterAdapterName

Tipo: ULONG

TRUE para habilitar o registro de nome do adaptador; FALSE para desabilitá-lo.

EnableLLMNR

Tipo: ULONG

TRUE para habilitar mDNS e LLMNR na interface fornecida; FALSE para desabilitá-los.

QueryAdapterName

Tipo: ULONG

TRUE se o nome do adaptador deve ser usado como sufixo de pesquisa; caso contrário , FALSE.

ProfileNameServer

Tipo: PWSTR

Uma cadeia de caracteres larga terminada em NULL que contém uma série de servidores DNS separados por vírgula ou por espaço. Por exemplo, L"1.1.1.1 8.8.8.8" ou L"1.1.1.1,8.8.8.8".

Se o sinalizador DNS_SETTING_IPV6 estiver presente, os servidores deverão ser endereços IPv6. Por exemplo, L"2606:4700:4700::1001,2606:4700:4700::1111".

DisableUnconstrainedQueries

Tipo: ULONG

Reservado.

SupplementalSearchList

Tipo: PWSTR

Uma cadeia de caracteres larga terminada em NULL que contém uma série de nomes de pesquisa separados por vírgulas ou por espaço. Por exemplo, L"contoso1.com contoso2.com" ou L"contoso1.com, contoso2.com".

cServerProperties

Tipo: ULONG

O número de propriedades de servidor especificadas no membro ServerProperties . Se for igual a 0, o membro "ServerProperties" deverá ser NULL.

ServerProperties

Tipo: DNS_SERVER_PROPERTY*

Uma matriz de estruturas DNS_SERVER_PROPERTY , contendo elementos cServerProperties . Se cServerProperties for 0, isso deverá ser NULL.

Há suporte apenas para propriedades DNS-over-HTTPS, com a restrição adicional de no máximo 1 propriedade para cada servidor especificado no membro NameServer .

O membro DNS_SERVER_PROPERTY::Version deve ser definido como DNS_SERVER_PROPERTY_VERSION1, ::Type deve ser definido como DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty e Property.DohSettings deve apontar para um objeto DNS_DOH_SERVER_SETTINGS válido.

O membro ServerIndex do DNS_SERVER_PROPERTY deve ser definido como o índice do servidor DNS correspondente do membro NameServer .

Por exemplo, se o membro NameServer estiver definido como L"1.1.1.1, 8.8.8.8, 9.9.9.9", uma propriedade para o servidor 1.1.1.1 terá o membro ServerIndex definido como 0. Da mesma forma, 8.8.8.8 exigiria ServerIndex definido como 1 e 9.9.9.9 exigiria o membro ServerIndex definido como 2.

cProfileServerProperties

Tipo: ULONG

O número de propriedades de servidor especificadas no membro ProfileServerProperties . Se for igual a 0, o membro ProfileServerProperties deverá ser NULL.

ProfileServerProperties

Tipo: DNS_SERVER_PROPERTY*

Uma matriz de estruturas DNS_SERVER_PROPERTY , contendo elementos cProfileServerProperties . Se cProfileServerProperties for 0, isso deverá ser NULL.

Há suporte apenas para propriedades DNS-over-HTTPS, com a restrição adicional de no máximo 1 propriedade para cada servidor especificado no membro ProfileNameServer .

O membro DNS_SERVER_PROPERTY::Version deve ser definido como DNS_SERVER_PROPERTY_VERSION1, ::Type deve ser definido como DNS_SERVER_PROPERTY_TYPE::D nsServerDohProperty e Property.DohSettings deve apontar para um objeto de DNS_DOH_SERVER_SETTINGS válido.

O membro ServerIndex do DNS_SERVER_PROPERTY deve ser definido como o índice do servidor DNS correspondente do membro ProfileNameServer .

Por exemplo, se o membro ProfileNameServer estiver definido como L"1.1.1.1, 8.8.8.8, 9.9.9.9", uma propriedade para o servidor 1.1.1.1 terá o membro ServerIndex definido como 0. Da mesma forma, 8.8.8.8 exigiria ServerIndex definido como 1 e 9.9.9.9 exigiria o membro ServerIndex definido como 2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 19645
Servidor mínimo com suporte Windows 10 Build 19645
Cabeçalho netioapi.h (inclua Iphlpapi.h)

Confira também