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 메서드는 요청된 특성의 스키마 정의를 읽으려고 시도하므로 ADS_SEARCH_COLUMN 구조에 포함된 ADSVALUE 구조체에서 적절한 형식으로 특성 값을 반환할 수 있습니다. 그러나 스키마 정의를 사용할 수 없는 경우에도 GetColumn이 성공할 수 있습니다. 이 경우 ADS_SEARCH_COLUMN 구조체의 dwADsType 멤버는 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 |
헤더 | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |