Метод IDirectorySearch::GetColumn (iads.h)
Метод IDirectorySearch::GetColumn получает данные из именованного столбца результата поиска.
Синтаксис
HRESULT GetColumn(
[in] ADS_SEARCH_HANDLE hSearchResult,
[in] LPWSTR szColumnName,
[out] PADS_SEARCH_COLUMN pSearchColumn
);
Параметры
[in] hSearchResult
Предоставляет дескриптор для контекста поиска.
[in] szColumnName
Предоставляет имя столбца, для которого запрашивается данные.
[out] pSearchColumn
Предоставляет адрес структуры, выделенной методом ADS_SEARCH_COLUMN , содержащей столбец из текущей строки результата поиска.
Возвращаемое значение
Этот метод возвращает стандартные возвращаемые значения, а также следующие.
Другие возвращаемые значения см. в разделе Коды ошибок ADSI.
Комментарии
Метод выделяет память для структуры ADS_SEARCH_COLUMN для хранения данных столбца. Но вызывающий объект должен освободить память, вызвав IDirectorySearch::FreeColumn.
Метод IDirectorySearch::GetColumn пытается прочитать определение схемы запрошенного атрибута, чтобы он мог возвращать значения атрибутов в соответствующем формате в структурах ADSVALUE , содержащихся в структуре ADS_SEARCH_COLUMN . Однако GetColumn может завершиться успешно, даже если определение схемы недоступно. В этом случае элемент dwADsType структуры ADS_SEARCH_COLUMN возвращает ADSTYPE_PROV_SPECIFIC, а значение возвращается в ADS_PROV_SPECIFIC структуре. При обработке результатов вызова GetColumn необходимо проверить dwADsType , чтобы убедиться, что данные были возвращены в ожидаемом формате.
Примеры
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 );
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |