Metode Properti IADsContainer
Metode properti antarmuka IADsContainer mendapatkan atau mengatur properti yang dijelaskan dalam tabel berikut. Untuk informasi selengkapnya, dan diskusi umum tentang metode properti, lihat Metode Properti Antarmuka.
Properti
-
Menghitung
-
-
Jenis akses: Baca-saja
-
Jenis data pembuatan skrip: LONG
-
// C++ method syntax HRESULT get_Count( [out] LONG* plCount );
Mengambil jumlah item dalam kontainer. Saat Filter diatur, Count hanya mengembalikan jumlah item yang difilter.
-
-
Filter
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: VARIAN
-
// C++ method syntax HRESULT get_Filter( [out] VARIANT* pvFilter ); HRESULT put_Filter( [in] VARIANT vFilter );
Mengambil atau mengatur filter yang digunakan untuk memilih kelas objek dalam enumerasi tertentu. Ini adalah array varian, setiap elemen yang merupakan nama kelas skema. Jika Filter tidak diatur atau diatur ke kosong, semua objek dari semua kelas diambil oleh enumerator.
-
-
Petunjuk
-
-
Jenis akses: Baca/tulis
-
Jenis data pembuatan skrip: VARIAN
-
// C++ method syntax HRESULT get_Hints( [out] VARIANT* pvHints ); HRESULT put_Hints( [in] VARIANT vHints );
Array varian string BSTR . Setiap elemen mengidentifikasi nama properti yang ditemukan dalam definisi skema. Parameter vHints memungkinkan klien untuk menunjukkan atribut mana yang akan dimuat untuk setiap objek yang dijumlahkan. Data tersebut dapat digunakan untuk mengoptimalkan akses jaringan. Implementasi yang tepat, bagaimanapun, khusus penyedia, dan saat ini tidak digunakan oleh penyedia WinNT.
-
Keterangan
Proses enumerasi di bawah IADsContainer::get__NewEnum dan IADsContainer::get_Count dilakukan terhadap objek yang terkandung dalam cache. Ketika kontainer berisi sejumlah besar objek, performa mungkin terpengaruh. Untuk meningkatkan performa, nonaktifkan cache, siapkan ukuran halaman yang sesuai, dan gunakan antarmuka IDirectorySearch . Untuk alasan ini, properti get_Count tidak didukung di penyedia Microsoft LDAP.
Contoh
Contoh kode Visual Basic berikut menunjukkan bagaimana metode properti IADsContainer dapat digunakan.
Dim cont As IADsContainer
Dim usr As IADsUser
On Error GoTo Cleanup
Set cont = GetObject("LDAP://OU=Sales, DC=Fabrikam, DC=COM")
cont.Hints = Array("adminDescription") ' Load this attribute. Optional.
Debug.Print cont.Get("adminDescription")
' Filter users.
cont.Filter = Array("user")
For Each usr In cont
Debug.Print usr.Name
Next
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set cont = Nothing
Set usr = Nothing
Contoh kode C++ berikut menunjukkan bagaimana metode properti IADsContainer dapat digunakan. Untuk keringkasan, pemeriksaan kesalahan dihilangkan.
IADsContainer *pCont;
IADs *pChild;
IADs *pADs;
HRESULT hr = ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=COM",
IID_IADsContainer,
(void**)&pCont);
if(FAILED(hr)){goto Cleanup;}
LPWSTR pszArray[] = { L"adminDescription" };
DWORD dwNumber = sizeof(pszArray)/sizeof(LPWSTR);
hr = ADsBuildVarArrayStr( pszArray, dwNumber, &var);
if(FAILED(hr)){goto Cleanup;}
hr = pCont->put_Hints( var );
if(FAILED(hr)){goto Cleanup;}
VariantClear(&var);
hr = pCont->QueryInterface(IID_IADs, (void**)pADs);
if(FAILED(hr)){goto Cleanup;}
hr = pADs->Get(CComBSTR("adminDescription"), var);
LPWSTR pszUsers = {L"user"};
dwNumber = sizeof(pszUsers)/sizeof(LPWSTR);
hr = ADsBuildVarArrayStr(pszUsers, dwNumber, &var);
hr = pCont->put_Filter( var );
VariantClear(&var);
// Enumerate user objects in the container.
IEnumVARIANT *pEnum = NULL;
hr = ADsBuildEnumerator(pCont, &pEnum);
pCont->Release(); // Not required when users are enumerated.
ULONG lFetch;
VariantClear(&var);
while (SUCCEEDED(ADsEnumerateNext(pEnum, 1, &var, &lFetch)) &&
lFetch==1) {
hr = V_DISPATCH(&var)->QueryInterface(IID_IADs, (void**)&pChild)
if(SUCCEEDED(hr)) {
BSTR bstrName;
pChild->get_Name(&bstrName);
printf(" %S\n", bstrName);
SysFreeString(bstrName);
pChild->Release();
}
VariantClear(&var);
}
Cleanup:
if(pADs)
pADs->Release();
if(pCont)
pCont->Release();
if(pChild)
pChild->Release();
VariantClear(&var);
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Header |
|
DLL |
|
IID |
IID_IADsContainer didefinisikan sebagai 001677D0-FD16-11CE-ABC4-02608C9E7553 |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk