funzione ldap_open (winldap.h)
[ldap_open è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti; tuttavia, non è consigliabile. Usare invece ldap_init.]
La funzione ldap_open crea e inizializza un blocco di connessione, quindi apre la connessione a un server LDAP.
Sintassi
WINLDAPAPI LDAP *LDAPAPI ldap_open(
[in] PSTR HostName,
[in] ULONG PortNumber
);
Parametri
[in] HostName
Puntatore a una stringa con terminazione Null. Un nome di dominio, un elenco di nomi host o stringhe punteggiate che rappresentano l'indirizzo IP degli host del server LDAP. Usare uno spazio singolo per separare i nomi host nell'elenco. Ogni nome host nell'elenco può essere seguito da un numero di porta. Il numero di porta facoltativo è separato dall'host stesso con due punti (:). Il runtime LDAP tenta di connettersi con gli host nell'ordine elencato, arrestandosi quando viene stabilita una connessione riuscita. Tenere presente che solo ldap_open tenta di stabilire la connessione prima di tornare al chiamante. La funzione ldap_init non si connette al server LDAP.
[in] PortNumber
Contiene il numero di porta TCP a cui connettersi. La porta LDAP predefinita, 389, può essere ottenuta fornendo la costante LDAP_PORT. Se un nome host include un numero di porta, questo parametro viene ignorato.
Valore restituito
Se la funzione ha esito positivo, restituisce un handle di sessione, sotto forma di puntatore a una struttura di dati LDAP. Liberare l'handle di sessione, quando non è più necessario, con una chiamata a ldap_unbind.
Se la funzione ha esito negativo, restituisce NULL. Usare la funzione LdapGetLastError per recuperare il codice di errore.
Commenti
Chiamare ldap_open per creare un blocco di connessione a un server LDAP. HostName può essere NULL nel qual caso il runtime tenta di trovare il server LDAP predefinito. I nomi host vengono tentati nell'ordine elencato, arrestandosi con la prima connessione riuscita. Per i server Active Directory, la funzione DsGetDcName può essere usata per ottenere il nome del server, che può quindi essere passato come parametro HostName invece di usare NULL.
Se hostName è stato impostato su NULL o sul nome di dominio, viene applicata la riconnessione automatica. Se il controller di dominio connesso smette di funzionare per qualche motivo durante la durata della connessione, LDAP si riconnetterà automaticamente a un altro controller di dominio nel dominio specificato. Questo comportamento può essere disattivato o attivato usando l'opzione di sessione LDAP_OPT_AUTO_RECONNECT , attivata per impostazione predefinita.
Il server LDAP predefinito è un'opzione specifica di Microsoft quando si usa LDAP_OPT_HOST_NAME. Questa opzione specifica il nome host del server LDAP predefinito e restituisce il nome host del server in Unicode o ANSI, in base all'uso rispettivamente di ldap_get_optionW o ldap_get_optionA.
Se un numero di porta del catalogo globale viene passato a ldap_open come uno degli argomenti, il nome host passato per tale numero di porta deve essere il nome della foresta per la chiamata sottostante a DsGetDcName() per trovare correttamente il GC nell'organizzazione.
La funzione ldap_open alloca una struttura di dati LDAP per mantenere i dati sullo stato per la sessione e restituisce un handle a questa struttura. Passare questo handle alle successive chiamate di funzione LDAP durante il corso della sessione.
Multithreading: le chiamate a ldap_open sono thread-safe.
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | winldap.h |
Libreria | Wldap32.lib |
DLL | Wldap32.dll |