IDirectorySearch::GetColumn-Methode (iads.h)
Die IDirectorySearch::GetColumn-Methode ruft Daten aus einer benannten Spalte des Suchergebnisses ab.
Syntax
HRESULT GetColumn(
[in] ADS_SEARCH_HANDLE hSearchResult,
[in] LPWSTR szColumnName,
[out] PADS_SEARCH_COLUMN pSearchColumn
);
Parameter
[in] hSearchResult
Stellt ein Handle für den Suchkontext bereit.
[in] szColumnName
Gibt den Namen der Spalte an, für die Daten angefordert werden.
[out] pSearchColumn
Stellt die Adresse einer methodeseitig zugeordneten ADS_SEARCH_COLUMN-Struktur bereit, die die Spalte aus der aktuellen Zeile des Suchergebnisses enthält.
Rückgabewert
Diese Methode gibt die Standardrückgabewerte sowie folgendes zurück.
Weitere Rückgabewerte finden Sie unter ADSI-Fehlercodes.
Hinweise
Die -Methode weist den Arbeitsspeicher für die ADS_SEARCH_COLUMN-Struktur zu, um die Daten der Spalte zu speichern. Der Aufrufer muss jedoch den Speicher durch Aufrufen von IDirectorySearch::FreeColumn freigeben.
Die IDirectorySearch::GetColumn-Methode versucht, die Schemadefinition des angeforderten Attributs zu lesen, damit sie die Attributwerte im entsprechenden Format in den ADSVALUE-Strukturen zurückgeben kann, die in der ADS_SEARCH_COLUMN-Struktur enthalten sind. GetColumn kann jedoch auch dann erfolgreich sein, wenn die Schemadefinition nicht verfügbar ist. In diesem Fall gibt das dwADsType-Element der ADS_SEARCH_COLUMN-Struktur ADSTYPE_PROV_SPECIFIC zurück, und der Wert wird in einer ADS_PROV_SPECIFIC-Struktur zurückgegeben. Wenn Sie die Ergebnisse eines GetColumn-Aufrufs verarbeiten, müssen Sie dwADsType überprüfen, um sicherzustellen, dass die Daten im erwarteten Format zurückgegeben wurden.
Beispiele
ADS_SEARCH_COLUMN col;
/*.. Omit the set preference and execute*/
while( m_pSearch->GetNextRow( hSearch) != S_ADS_NOMORE_ROWS )
{
// Get the Name and display it in the list.
hr = m_pSearch->GetColumn( hSearch, pszAttr[0], &col );
if ( SUCCEEDED(hr) )
{
switch (col.dwADsType)
{
case ADSTYPE_CASE_IGNORE_STRING:
printf("%S\n", col.pADsValues->CaseIgnoreString);
break;
case ADSTYPE_PROV_SPECIFIC:
printf("%S\n", col.pADsValues->ProviderSpecific.lpValue);
break;
default:
printf("Unexpected ADsType: %d\n", col.dwADsType);
break;
}
{
m_pSearch->FreeColumn( &col );
}
}
}
m_pSearch->CloseSearchHandle( hSearch );
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |