Compartilhar via


Método IDirectorySearch::GetColumn (iads.h)

O método IDirectorySearch::GetColumn obtém dados de uma coluna nomeada do resultado da pesquisa.

Sintaxe

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

Parâmetros

[in] hSearchResult

Fornece um identificador para o contexto de pesquisa.

[in] szColumnName

Fornece o nome da coluna para a qual os dados são solicitados.

[out] pSearchColumn

Fornece o endereço de uma estrutura ADS_SEARCH_COLUMN alocada pelo método que contém a coluna da linha atual do resultado da pesquisa.

Valor retornado

Esse método retorna os valores de retorno padrão, bem como os seguintes.

Para obter outros valores retornados, consulte Códigos de erro ADSI.

Comentários

O método aloca a memória para a estrutura ADS_SEARCH_COLUMN manter os dados da coluna. Mas o chamador deve liberar a memória chamando IDirectorySearch::FreeColumn.

O método IDirectorySearch::GetColumn tenta ler a definição de esquema do atributo solicitado para que ele possa retornar os valores de atributo no formato apropriado nas estruturas ADSVALUE , contidas na estrutura ADS_SEARCH_COLUMN . No entanto, GetColumn pode ter êxito mesmo quando a definição de esquema não está disponível; nesse caso, o membro dwADsType da estrutura ADS_SEARCH_COLUMN retorna ADSTYPE_PROV_SPECIFIC e o valor é retornado em uma estrutura ADS_PROV_SPECIFIC . Ao processar os resultados de uma chamada GetColumn , você deve verificar dwADsType para garantir que os dados foram retornados no formato esperado.

Exemplos

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

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Confira também

Códigos de erro ADSI

ADS_SEARCH_COLUMN

Idirectorysearch

IDirectorySearch::FreeColumn