Bagikan melalui


Metode IDirectorySearch::GetColumn (iads.h)

Metode IDirectorySearch::GetColumn mendapatkan data dari kolom bernama hasil pencarian.

Sintaks

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

Parameter

[in] hSearchResult

Menyediakan handel ke konteks pencarian.

[in] szColumnName

Menyediakan nama kolom yang datanya diminta.

[out] pSearchColumn

Menyediakan alamat struktur ADS_SEARCH_COLUMN yang dialokasikan metode yang berisi kolom dari baris hasil pencarian saat ini.

Mengembalikan nilai

Metode ini mengembalikan nilai pengembalian standar, serta yang berikut ini.

Untuk nilai pengembalian lainnya, lihat Kode Kesalahan ADSI.

Keterangan

Metode mengalokasikan memori untuk struktur ADS_SEARCH_COLUMN untuk menyimpan data kolom. Tetapi pemanggil harus membebaskan memori dengan memanggil IDirectorySearch::FreeColumn.

Metode IDirectorySearch::GetColumn mencoba membaca definisi skema atribut yang diminta sehingga dapat mengembalikan nilai atribut dalam format yang sesuai dalam struktur ADSVALUE , yang terkandung dalam struktur ADS_SEARCH_COLUMN . Namun, GetColumn dapat berhasil bahkan ketika definisi skema tidak tersedia, dalam hal ini anggota dwADsType dari struktur ADS_SEARCH_COLUMN mengembalikan ADSTYPE_PROV_SPECIFIC dan nilai dikembalikan dalam struktur ADS_PROV_SPECIFIC . Saat Anda memproses hasil panggilan GetColumn , Anda harus memverifikasi dwADsType untuk memastikan bahwa data dikembalikan dalam format yang diharapkan.

Contoh

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

Persyaratan

   
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Lihat juga

Kode Kesalahan ADSI

ADS_SEARCH_COLUMN

IDirectorySearch

IDirectorySearch::FreeColumn