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

Voir aussi

Codes d’erreur ADSI

ADS_SEARCH_COLUMN

IDirectorySearch

IDirectorySearch::FreeColumn