Freigeben über


Verarbeiten der Suchergebnisse

Nach dem ersten Aufruf von IDirectorySearch::GetFirstRow oder IDirectorySearch::GetNextRow wird entweder S_OK, S_ADS_NOMORE_ROWS oder ein Fehlerergebnis zurückgegeben.

Wenn der Rückgabewert S_ADS_NOMORE_ROWS ist, wurden keine weiteren Objekte gefunden, die dem Filter entsprechen. Wenn ein Fehlerergebnis zurückgegeben wird, ist die Abfrage fehlgeschlagen. In beiden Fällen müssen Sie die Zeilen im Ergebnis nicht verarbeiten, da nichts zurückgegeben wurde.

Wenn S_OK zurückgegeben wird, wurde eine Zeile abgerufen. Sie können die Spalten mithilfe von IDirectorySearch::GetColumn nach Namen analysieren. Der Name ist der lDAPDisplayName des Attributs in der Spalte. Der Satz aller Spalten wurde durch den pAttributeNames-Parameter der IDirectorySearch::ExecuteSearch-Methode definiert. Wenn NULL angegeben wurde, ist die Gruppe aller Spalten die Union aller Eigenschaften, die für alle zurückgegebenen Objekte gefunden wurden. Um den gesamten Satz von Spalten zu lesen, die für ein Objekt zurückgegeben werden, verwenden Sie IDirectorySearch::GetNextColumnName , um jede Spalte zu durchlaufen, und verwenden Sie den zurückgegebenen Spaltennamen, um IDirectorySearch::GetColumn aufzurufen.

Die IDirectorySearch::GetColumn-Methode gibt eine ADS_SEARCH_COLUMN-Struktur zurück, die den Attributnamen, den Typ des Attributs, die Anzahl der Werte und einen Zeiger auf ein Array von ADSVALUE-Strukturen enthält, die die Werte enthalten. Sie können die ADSVALUE-Strukturen durchlaufen, um die Werte für die von der Spalte zurückgegebene Eigenschaft zu lesen. Sie müssen das entsprechende Element der ADSVALUE-Struktur basierend auf dem ADSTYPE-Element lesen, das vom dwADsType-Member der ADS_SEARCH_COLUMN-Struktur (oder dem dwType-Element der ADSVALUE-Struktur ) angegeben wird. Wenn dwADsType beispielsweise ADSTYPE_INTEGER ist, würden Sie das Integer-Element jeder ADSVALUE-Struktur lesen.

Weitere Informationen und ein Codebeispiel finden Sie unter Beispielcode für die Suche nach Benutzern.