Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione ldap_search_ext cerca la directory LDAP e restituisce un set richiesto di attributi per ogni voce corrispondente.
Sintassi
WINLDAPAPI ULONG LDAPAPI ldap_search_ext(
[in] LDAP *ld,
[in] PSTR base,
[in] ULONG scope,
[in] PSTR filter,
[in] PZPSTR attrs,
[in] ULONG attrsonly,
[in] PLDAPControlA *ServerControls,
[in] PLDAPControlA *ClientControls,
[in] ULONG TimeLimit,
[in] ULONG SizeLimit,
[out] ULONG *MessageNumber
);
Parametri
[in] ld
Handle di sessione.
[in] base
Puntatore a una stringa con terminazione null contenente il nome distinto della voce in corrispondenza del quale avviare la ricerca.
[in] scope
Specifica uno dei valori seguenti per indicare l'ambito di ricerca.
LDAP_SCOPE_BASE
Cercare solo la voce di base.
LDAP_SCOPE_ONELEVEL
Cercare tutte le voci nel primo livello sotto la voce di base, escluso la voce di base.
LDAP_SCOPE_SUBTREE
Cercare la voce di base e tutte le voci nell'albero sotto la base.
[in] filter
Puntatore a una stringa con terminazione null che specifica il filtro di ricerca. Per altre informazioni, vedere Sintassi del filtro di ricerca.
[in] attrs
Matrice con terminazione null di stringhe con terminazione null che indicano quali attributi restituire per ogni voce corrispondente. Per recuperare tutti gli attributi disponibili, passare NULL.
[in] attrsonly
Valore booleano che deve essere zero se devono essere restituiti entrambi i tipi di attributo e i valori, non zero se vengono restituiti solo i tipi.
[in] ServerControls
Elenco dei controlli server LDAP.
[in] ClientControls
Elenco dei controlli client.
[in] TimeLimit
Specifica sia il valore di timeout della ricerca locale in secondi che il limite di tempo di operazione inviato al server all'interno della richiesta di ricerca.
[in] SizeLimit
Limite al numero di voci da restituire dalla ricerca. Il valore zero indica che non è definito alcun limite.
[out] MessageNumber
ID messaggio di richiesta.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è LDAP_SUCCESS.
Se la funzione non viene completata, restituisce un codice di errore. Per altre informazioni, vedere Valori restituiti.
Commenti
La funzione ldap_search_ext avvia un'operazione di ricerca asincrona. I parametri e gli effetti di ldap_search_ext includono quelli di ldap_search. La funzione estesa include parametri aggiuntivi per supportare i controlli client e server e la sicurezza dei thread e specificare limiti di dimensione e tempo per ogni operazione di ricerca.
Usare la funzione ldap_set_option con l'handle di sessione ld per impostare l'opzione LDAP_OPT_DEREF che determina la modalità di esecuzione della ricerca. Per altre informazioni, vedere Opzioni sessione. Due altre opzioni di sessione, LDAP_OPT_SIZELIMIT e LDAP_OPT_TIMELIMIT, vengono ignorate a favore dei parametri SizeLimit e TimeLimit in questa funzione.
Se l'operazione ha esito positivo, ldap_search_ext passa l'ID messaggio al chiamante come parametro quando l'operazione restituisce correttamente. Chiamare ldap_result con l'ID messaggio per ottenere il risultato dell'operazione.
Un'applicazione client LDAP che deve controllare la frequenza in cui vengono restituiti i risultati può specificare la richiesta di ricerca per fornire un controllo dei risultati a pagina con dimensioni impostate sulle dimensioni della pagina desiderate e sui cookie impostati sulla stringa di lunghezza zero. Le dimensioni della pagina specificate possono essere maggiori di zero e minore del valore SizeLimit specificato nella richiesta di ricerca.
Se la dimensione della pagina è maggiore o uguale all'opzione SizeLimit value descritta in Opzioni sessione, il server deve ignorare il controllo perché la richiesta può essere soddisfatta in una singola pagina. Se il server non supporta questo controllo, il server deve restituire un errore di estensione critica non supportata se il client l'ha richiesto come critico, in caso contrario, il server deve ignorare il controllo. La parte restante di questa sezione presuppone che il server non ignora il controllo dei risultati a pagina del client.
Il client invia al server una richiesta di ricerca con il controllo risultati a pagina semplice, insieme a una chiave di enumerazione precedente vuota, nota anche come "cookie" e le dimensioni iniziali della pagina. Il server restituisce quindi il numero di voci specificate dalle dimensioni della pagina e restituisce anche un cookie rilasciato nella richiesta client successiva per ottenere la pagina successiva dei risultati. Il client invia quindi una ricerca, con il cookie incluso, facoltativamente reimpostando le dimensioni della pagina. Il server risponde quindi restituendo i risultati, fino al numero specificato di voci. Per indicare alla funzione di restituire direttamente i risultati, usare la routine sincrona ldap_search_ext_s.
Multithreading: le chiamate a ldap_search_ext sono thread-safe.
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows Vista |
| Server minimo supportato | Windows Server 2008 |
| Piattaforma di destinazione | Windows |
| Intestazione | winldap.h |
| Libreria | Wldap32.lib |
| DLL | Wldap32.dll |