IDirectorySearch::GetColumn, méthode (iads.h)
La méthode IDirectorySearch::GetColumn obtient des données à partir d’une colonne nommée du résultat de la recherche.
Syntaxe
HRESULT GetColumn(
[in] ADS_SEARCH_HANDLE hSearchResult,
[in] LPWSTR szColumnName,
[out] PADS_SEARCH_COLUMN pSearchColumn
);
Paramètres
[in] hSearchResult
Fournit un handle au contexte de recherche.
[in] szColumnName
Fournit le nom de la colonne pour laquelle les données sont demandées.
[out] pSearchColumn
Fournit l’adresse d’une structure de ADS_SEARCH_COLUMN allouée par méthode qui contient la colonne de la ligne actuelle du résultat de la recherche.
Valeur retournée
Cette méthode retourne les valeurs de retour standard, ainsi que les éléments suivants.
Pour obtenir d’autres valeurs de retour, consultez Codes d’erreur ADSI.
Notes
La méthode alloue la mémoire pour que la structure ADS_SEARCH_COLUMN contienne les données de la colonne. Mais l’appelant doit libérer la mémoire en appelant IDirectorySearch::FreeColumn.
La méthode IDirectorySearch::GetColumn tente de lire la définition de schéma de l’attribut demandé afin qu’elle puisse retourner les valeurs d’attribut dans le format approprié dans les structures ADSVALUE , contenues dans la structure ADS_SEARCH_COLUMN . Toutefois, GetColumn peut réussir même lorsque la définition de schéma n’est pas disponible, auquel cas le membre dwADsType de la structure ADS_SEARCH_COLUMN retourne ADSTYPE_PROV_SPECIFIC et la valeur est retournée dans une structure de ADS_PROV_SPECIFIC . Lorsque vous traitez les résultats d’un appel GetColumn , vous devez vérifier dwADsType pour vous assurer que les données ont été retournées dans le format attendu.
Exemples
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 );
Spécifications
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |