Compartir a través de


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

El método IDirectorySearch::GetColumn obtiene datos de una columna con nombre del resultado de búsqueda.

Sintaxis

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

Parámetros

[in] hSearchResult

Proporciona un identificador para el contexto de búsqueda.

[in] szColumnName

Proporciona el nombre de la columna para la que se solicitan los datos.

[out] pSearchColumn

Proporciona la dirección de una estructura de ADS_SEARCH_COLUMN asignada por el método que contiene la columna de la fila actual del resultado de búsqueda.

Valor devuelto

Este método devuelve los valores devueltos estándar, así como los siguientes.

Para obtener otros valores devueltos, consulta Códigos de error ADSI.

Comentarios

El método asigna la memoria de la estructura ADS_SEARCH_COLUMN para contener los datos de la columna. Pero el autor de la llamada debe liberar la memoria llamando a IDirectorySearch::FreeColumn.

El método IDirectorySearch::GetColumn intenta leer la definición de esquema del atributo solicitado para que pueda devolver los valores de atributo en el formato adecuado en las estructuras ADSVALUE , contenidas en la estructura ADS_SEARCH_COLUMN . Sin embargo, GetColumn puede realizarse correctamente incluso cuando la definición de esquema no está disponible, en cuyo caso el miembro dwADsType de la estructura ADS_SEARCH_COLUMN devuelve ADSTYPE_PROV_SPECIFIC y el valor se devuelve en una estructura ADS_PROV_SPECIFIC . Al procesar los resultados de una llamada a GetColumn , debe comprobar dwADsType para asegurarse de que los datos se devolvieron en el formato esperado.

Ejemplos

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 compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Consulte también

Códigos de error adsi

ADS_SEARCH_COLUMN

IDirectorySearch

IDirectorySearch::FreeColumn