Funzione DsGetDcNextA (dsgetdc.h)
La funzione DsGetDcNext recupera il controller di dominio successivo in un'operazione di enumerazione del 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 riceve i dati dell'indirizzo 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 dal DNS.
Il chiamante deve liberare questa memoria quando non è più necessaria 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ù necessaria chiamando NetApiBufferFree.
Valore restituito
Restituisce ERROR_SUCCESS in caso di esito positivo o di errore Win32 o RPC in caso contrario. I possibili valori di errore includono quanto segue.
Osservazioni
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 perché tali controller di dominio registrano solo record specifici del sito e CName e DsGetDcNext e DsGetDcOpen cercare i record SRV DNS.
La procedura seguente illustra come ottenere un elenco completo di controller di dominio da un computer che esegue Windows Server 2008.
Per ottenere un elenco completo dei controller di dominio
- Usare DsGetDcName per ottenere un nome di controller di dominio.
- Usare DsBind per connettersi al controller di dominio.
- Chiamare DsGetDomainControllerInfo con InfoLevel 3 (DS_DOMAIN_CONTROLLER_INFO_3) per ottenere l'elenco completo, inclusi i controller di dominio di sola lettura.
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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
server minimo supportato | Windows Server 2008 |
piattaforma di destinazione | Finestre |
intestazione |
dsgetdc.h |
libreria |
Netapi32.lib |
dll | Netapi32.dll |
Vedere anche
funzioni del servizio directory