Função DsGetDcNextA (dsgetdc.h)
A função DsGetDcNext recupera o próximo controlador de domínio em uma operação de enumeração do controlador de domínio.
Sintaxe
DSGETDCAPI DWORD DsGetDcNextA(
[in] HANDLE GetDcContextHandle,
[out, optional] PULONG SockAddressCount,
[out, optional] LPSOCKET_ADDRESS *SockAddresses,
[out, optional] LPSTR *DnsHostName
);
Parâmetros
[in] GetDcContextHandle
Contém o identificador de contexto de enumeração do controlador de domínio fornecido pela função
[out, optional] SockAddressCount
Ponteiro para um valor ULONG
[out, optional] SockAddresses
Ponteiro para uma matriz de estruturas de SOCKET_ADDRESS que recebe os dados de endereço do soquete para o controlador de domínio. SockAddressCount recebe o número de elementos nessa matriz.
Todos os endereços retornados serão do tipo AF_INET ou AF_INET6. O membro sin_port contém a porta do registro do servidor. Uma porta 0 indica que nenhuma porta está disponível no DNS.
O chamador deve liberar essa memória quando ela não for mais necessária chamando localfree.
Esse parâmetro será ignorado se sockAddressCount estiver NULL.
[out, optional] DnsHostName
Ponteiro para um ponteiro de cadeia de caracteres que recebe o nome DNS do controlador de domínio. Esse parâmetro receberá NULL se nenhum nome de host for conhecido. O chamador deve liberar essa memória quando ela não for mais necessária chamando NetApiBufferFree.
Valor de retorno
Retorna ERROR_SUCCESS se for bem-sucedido ou um erro Win32 ou RPC, caso contrário. Os valores de erro possíveis incluem o seguinte.
Observações
Para redefinir a enumeração, feche a enumeração atual chamando DsGetDcClose e reabra a enumeração chamando DsGetDcOpen novamente.
O DC retornado por DsGetDcNext não será um DC (RODC) somente leitura porque esses DCs registram apenas registros CName e específicos do site e ambos DsGetDcNext e DsGetDcOpen procurar registros SRV DNS.
O procedimento a seguir mostra como obter uma lista de DC completa de um computador que executa o Windows Server 2008.
Para obter uma lista completa de controladores de domínio
- Use DsGetDcName para obter um nome de controlador de domínio.
- Use DsBind para se conectar a esse controlador de domínio.
- Chame DsGetDomainControllerInfo com o InfoLevel 3 (DS_DOMAIN_CONTROLLER_INFO_3) para obter a lista completa, incluindo RODCs.
Nota
O cabeçalho dsgetdc.h define DsGetDcNext como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
servidor com suporte mínimo | Windows Server 2008 |
da Plataforma de Destino |
Windows |
cabeçalho | dsgetdc.h |
biblioteca | Netapi32.lib |
de DLL |
Netapi32.dll |
Consulte também
Funções de serviço de diretório
enumerando controladores de domínio
NetApiBufferFree