Elaborazione dei risultati della ricerca
Dopo la prima chiamata a IDirectorySearch::GetFirstRow o IDirectorySearch::GetNextRow, S_OK, S_ADS_NOMORE_ROWS o viene restituito un risultato di errore.
Se il valore restituito è S_ADS_NOMORE_ROWS, non sono stati trovati altri oggetti corrispondenti al filtro. Se viene restituito un risultato di errore, la query non è riuscita. In entrambi i casi non è necessario elaborare le righe nel risultato perché non è stato restituito alcun risultato.
Se viene restituito S_OK , è stata recuperata una riga. È possibile analizzare le colonne in base al nome usando IDirectorySearch::GetColumn. Il nome è lDAPDisplayName dell'attributo nella colonna. Il set di tutte le colonne è stato definito dal parametro pAttributeNames del metodo IDirectorySearch::ExecuteSearch. Se è stato specificato NULL , il set di tutte le colonne è l'unione di tutte le proprietà trovate per tutti gli oggetti restituiti. Per leggere l'intero set di colonne restituite per un oggetto, usare IDirectorySearch ::GetNextColumnName per scorrere ogni colonna e usare il nome della colonna restituito per chiamare IDirectorySearch::GetColumn.
Il metodo IDirectorySearch::GetColumn restituisce una struttura ADS_edizione StandardARCH_COLUMN che contiene il nome dell'attributo, il tipo dell'attributo, il numero di valori e un puntatore a una matrice di strutture ADSVALUE che contengono i valori. È possibile scorrere le strutture ADSVALUE per leggere i valori per la proprietà restituita dalla colonna. Devi leggere il membro appropriato della struttura ADSVALUE in base all'ADSTYPE specificato dal membro dwADsType della struttura ADS_edizione StandardARCH_COLUMN (o il membro dwType della struttura ADSVALUE). Ad esempio, se dwADsType è stato ADSTYPE_INTEGER, è necessario leggere il membro Integer di ogni struttura ADSVALUE .
Per altre informazioni e un esempio di codice, vedere Codice di esempio per la ricerca di utenti.