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

참고 항목

ADSI 오류 코드

ADS_SEARCH_COLUMN

IDirectorySearch

IDirectorySearch::FreeColumn