Bagikan melalui


IADs::Metode GetInfoEx (iads.h)

Metode IADs::GetInfoEx memuat nilai properti tertentu dari objek ADSI dari penyimpanan direktori yang mendasar ke dalam cache properti.

Sintaks

HRESULT GetInfoEx(
  [in] VARIANT vProperties,
  [in] long    lnReserved
);

Parameter

[in] vProperties

Array entri string Unicode yang dihentikan null yang mencantumkan properti untuk dimuat ke dalam cache properti Direktori Aktif. Setiap nama properti harus cocok dengan nama dalam definisi kelas skema objek ini.

[in] lnReserved

Disiapkan untuk penggunaan masa mendatang. Harus diatur ke nol.

Mengembalikan nilai

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

Untuk informasi selengkapnya, lihat Kode Kesalahan ADSI.

Keterangan

Metode IADs::GetInfoEx menimpa nilai yang sebelumnya di-cache dari properti yang ditentukan dengan yang ada di penyimpanan direktori. Oleh karena itu, setiap perubahan yang dilakukan pada cache akan hilang jika IAD::SetInfo tidak dipanggil sebelum panggilan ke IAD::GetInfoEx.

Gunakan IAD::GetInfoEx untuk me-refresh nilai properti yang dipilih di cache properti objek ADSI. Gunakan IAD::GetInfo untuk merefresh semua nilai properti.

Untuk objek kontainer ADSI, IADs::GetInfoEx hanya menyimpan nilai properti kontainer, tetapi bukan objek turunan.

Contoh

Contoh kode berikut menunjukkan cara menggunakan IAD::GetInfoEx untuk mendapatkan nilai properti yang dipilih, dengan asumsi bahwa nilai properti yang diinginkan dapat ditemukan di direktori.

Dim x As IADs
On Error GoTo Cleanup

Set x = GetObject("LDAP://CN=JeffSmith,CN=Users,DC=Fabrikam,DC=com")
 
' Retrieve givenName and sn from the underlying directory storage.
' Cache should have givenName and sn values.
x.GetInfoEx Array("givenName", "sn"), 0 
Debug.Print x.Get("givenName")  ' Property is in the cache.
Debug.Print x.Get("sn")         ' Property is in the cache.
 
' If the "homePhone" property is not in the cache (in the next line), 
' GetInfo is called implicitly.
Debug.Print x.Get("homePhone")

Cleanup:
   If(Err.Number<>0) Then
      MsgBox("An error has occurred. " & Err.Number);
   End If

   Set x = Nothing

Contoh kode berikut menunjukkan cara menggunakan IAD::GetInfoEx untuk mendapatkan nilai properti yang dipilih, dengan asumsi bahwa nilai properti yang diinginkan dapat ditemukan di direktori. Untuk keringkasan, pemeriksaan kesalahan telah dihilangkan.

IADs *pADs = NULL;
VARIANT var;
HRESULT hr = S_OK;
 
hr = ADsGetObject(L"WinNT://somecomputer,computer",
                  IID_IADs,
                  (void**)&pADs);

if(!(hr==S_OK)){return hr;} 

VariantInit(&var);
 
// Get "Owner" and "Division" attribute values.
LPWSTR pszAttrs[] = { L"Owner", L"Division" };
DWORD dwNumber = sizeof( pszAttrs ) /sizeof(LPWSTR);
hr = ADsBuildVarArrayStr( pszAttrs, dwNumber, &var );
hr = pADs->GetInfoEx(var, 0);
VariantClear(&var);
 
hr = pADs->Get(CComBSTR("Division"), &var);  
printf("    division   = %S\n", V_BSTR(&var));
VariantClear(&var);
hr = pADs->Get(CComBSTR("Owner"), &var);
printf("    owner      = %S\n", V_BSTR(&var));
VariantClear(&var);

if(pADs)
   pADs->Release();


Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Server minimum yang didukung Windows Server 2008
Target Platform Windows
Header iads.h
DLL Activeds.dll

Lihat juga

IAD

IADs::GetInfo

IADs::SetInfo

Singgahan Properti