Condividi tramite


Metodo IDirectorySearch::GetColumn (iads.h)

Il metodo IDirectorySearch::GetColumn ottiene dati da una colonna denominata del risultato della ricerca.

Sintassi

HRESULT GetColumn(
  [in]  ADS_SEARCH_HANDLE  hSearchResult,
  [in]  LPWSTR             szColumnName,
  [out] PADS_SEARCH_COLUMN pSearchColumn
);

Parametri

[in] hSearchResult

Fornisce un handle al contesto di ricerca.

[in] szColumnName

Fornisce il nome della colonna per cui sono richiesti i dati.

[out] pSearchColumn

Fornisce l'indirizzo di una struttura ADS_SEARCH_COLUMN allocata dal metodo che contiene la colonna dalla riga corrente del risultato della ricerca.

Valore restituito

Questo metodo restituisce i valori restituiti standard, nonché i seguenti.

Per altri valori restituiti, vedere Codici di errore ADSI.

Commenti

Il metodo alloca la memoria per la struttura ADS_SEARCH_COLUMN per contenere i dati della colonna. Ma il chiamante deve liberare la memoria chiamando IDirectorySearch::FreeColumn.

Il metodo IDirectorySearch::GetColumn tenta di leggere la definizione dello schema dell'attributo richiesto in modo che possa restituire i valori dell'attributo nel formato appropriato nelle strutture ADSVALUE , contenute nella struttura ADS_SEARCH_COLUMN . Tuttavia, GetColumn può avere esito positivo anche quando la definizione dello schema non è disponibile, nel qual caso il membro dwADsTypedella struttura ADS_SEARCH_COLUMN restituisce ADSTYPE_PROV_SPECIFIC e il valore viene restituito in una struttura ADS_PROV_SPECIFIC . Quando si elaborano i risultati di una chiamata GetColumn , è necessario verificare dwADsType per assicurarsi che i dati siano stati restituiti nel formato previsto.

Esempio

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 );

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Vedi anche

Codici di errore ADSI

ADS_SEARCH_COLUMN

IDirectorySearch

IDirectorySearch::FreeColumn