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 |