Funzione DsGetDcNextA (dsgetdc.h)
La funzione DsGetDcNext recupera il controller di dominio successivo in un'operazione di enumerazione controller di dominio.
Sintassi
DSGETDCAPI DWORD DsGetDcNextA(
[in] HANDLE GetDcContextHandle,
[out, optional] PULONG SockAddressCount,
[out, optional] LPSOCKET_ADDRESS *SockAddresses,
[out, optional] LPSTR *DnsHostName
);
Parametri
[in] GetDcContextHandle
Contiene l'handle del contesto di enumerazione del controller di dominio fornito dalla funzione DsGetDcOpen .
[out, optional] SockAddressCount
Puntatore a un valore ULONG che riceve il numero di elementi nella matrice SockAddresses . Se questo parametro è NULL, gli indirizzi socket non vengono recuperati.
[out, optional] SockAddresses
Puntatore a una matrice di strutture SOCKET_ADDRESS che ricevono i dati degli indirizzi socket per il controller di dominio. SockAddressCount riceve il numero di elementi in questa matrice.
Tutti gli indirizzi restituiti saranno di tipo AF_INET o AF_INET6. Il membro sin_port contiene la porta dal record del server. Una porta 0 indica che non è disponibile alcuna porta da DNS.
Il chiamante deve liberare questa memoria quando non è più richiesto chiamando LocalFree.
Questo parametro viene ignorato se SockAddressCount è NULL.
[out, optional] DnsHostName
Puntatore a un puntatore di stringa che riceve il nome DNS del controller di dominio. Questo parametro riceve NULL se non è noto alcun nome host. Il chiamante deve liberare questa memoria quando non è più richiesto chiamando NetApiBufferFree.
Valore restituito
Restituisce ERROR_SUCCESS se ha esito positivo o un errore WIN32 o RPC in caso contrario. I valori di errore possibili includono quanto segue.
Commenti
Per reimpostare l'enumerazione, chiudere l'enumerazione corrente chiamando DsGetDcClose e quindi riaprire l'enumerazione chiamando di nuovo DsGetDcOpen .
Il controller di dominio restituito da DsGetDcNext non sarà un controller di dominio di sola lettura (RODC) perché tali controller di dominio registrano record specifici del sito e CName e DsGetDcNext e DsGetDcOpen cercano record SRV DNS.
La procedura seguente illustra come ottenere un elenco di controller di dominio completo da un computer che esegue Windows Server 2008.
Per ottenere un elenco completo dei controller di dominio
- Usare DsGetDcName per ottenere un nome del controller di dominio.
- Usare DsBind per connettersi a tale controller di dominio.
- Chiamare DsGetDomainControllerInfo con InfoLevel 3 (DS_DOMAIN_CONTROLLER_INFO_3) per ottenere l'elenco completo, inclusi i rodc.
Nota
L'intestazione dsgetdc.h definisce DsGetDcNext come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | dsgetdc.h |
Libreria | Netapi32.lib |
DLL | Netapi32.dll |
Vedi anche
Funzioni del servizio directory