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 |