Bagikan melalui


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

Mengambil jumlah item dalam kontainer. Saat Filter diatur, Count hanya mengembalikan jumlah item yang difilter.

Jenis akses: Baca-saja

Jenis data pembuatan skrip: LONG

// C++ method syntax
HRESULT get_Count(
  [out] LONG* plCount
);

Filter

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.

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: VARIAN

// C++ method syntax
HRESULT get_Filter(
  [out] VARIANT* pvFilter
);
HRESULT put_Filter(
  [in] VARIANT vFilter
);

Petunjuk

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.

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: VARIAN

// C++ method syntax
HRESULT get_Hints(
  [out] VARIANT* pvHints
);
HRESULT put_Hints(
  [in] VARIANT vHints
);

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
Iads.h
DLL
Activeds.dll
IID
IID_IADsContainer didefinisikan sebagai 001677D0-FD16-11CE-ABC4-02608C9E7553

Lihat juga

IADsContainer

IDirectorySearch