IADsCollection::get__NewEnum method (iads.h)
Metode IADsCollection::get__NewEnum mendapatkan objek enumerator dependen yang mengimplementasikan IEnumVARIANT untuk objek koleksi ADSI ini. Ketahuilah bahwa ada dua karakter garis bawah dalam nama fungsi (get__NewEnum).
Sintaks
HRESULT get__NewEnum(
[out] IUnknown **ppEnumerator
);
Parameter
[out] ppEnumerator
Arahkan ke penunjuk ke antarmuka IUnknown pada objek enumerator untuk koleksi ini.
Nilai kembali
Metode ini mendukung nilai pengembalian standar termasuk S_OK, E_FAIL, atau E_NOTIMPL. Untuk informasi selengkapnya dan nilai pengembalian lainnya, lihat Kode Kesalahan ADSI.
Keterangan
Ketika server mendukung pencarian halaman dan klien telah menentukan batas halaman yang lebih besar dari hasil pencarian maksimum yang diizinkan di server, metode IADsCollection::get__NewEnum mengembalikan kesalahan dengan cara berikut:
- Jika server mengembalikan kesalahan tanpa hasil, fungsi hanya mengembalikan kesalahan.
- Jika server mengembalikan hasil parsial dengan atau tanpa kesalahan, misalnya, hasil pencarian maksimum yang diizinkan di server, fungsi mengembalikan hasil parsial dari server ke pengguna.
- Jika server mengembalikan semua hasil dengan atau tanpa kesalahan, misalnya, hasil pencarian maksimum di setiap halaman dan semua hasil melalui beberapa halaman, fungsi mengembalikan semua hasil dari server ke pengguna.
Contoh
Untuk masing-masing... Dalam... Pernyataan berikutnya dalam contoh kode Visual Basic berikut memanggil metode get__NewEnum secara implisit.
Dim fso As IADsFileServiceOperations
On Error GoTo Cleanup
Set fso = GetObject("WinNT://myComputer/Fabrikam01")
Dim coll As IADsCollection
Set coll = fso.Sessions
' The following statement invokes IADsCollection::get__NewEnum.
For Each session In coll
MsgBox "Session name: " & session.Name
Next session
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred... " & Err.Number)
End If
Set fso = Nothing
Contoh kode C++ berikut menunjukkan bagaimana IADsCollection::get__NewEnum digunakan untuk menghitung sesi layanan file aktif.
HRESULT EnumCollection(IADsCollection *);
HRESULT GetACollectionOfSessions()
{
LPWSTR adspath = L"WinNT://myComputer/LanmanServer";
HRESULT hr = S_OK;
IADsCollection *pColl = NULL;
// Bind to file service operations.
IADsFileServiceOperations *pFso = NULL;
hr = ADsGetObject(adspath,
IID_IADsFileServiceOperations,
(void**)&pFso);
if(FAILED(hr)) {goto Cleanup;}
// Get the pointer to the collection.
hr = pFso->Sessions(&pColl);
if(FAILED(hr)) {goto Cleanup;}
hr = EnumCollection(pColl);
Cleanup:
if(pColl) pColl->Release();
if(pFso) pFso->Release();
return hr;
}
HRESULT EnumCollection(IADsCollection *pColl)
{
IUnknown *pUnk=NULL;
HRESULT hr = S_OK;
// Get the Enumerator object on the collection object.
hr = pColl->get__NewEnum(&pUnk);
if(FAILED(hr)) {goto Cleanup;}
IEnumVARIANT *pEnum;
hr = pUnk->QueryInterface(IID_IEnumVARIANT,(void**)&pEnum);
if(FAILED(hr)) {goto Cleanup;}
// Enumerate the collection.
BSTR bstr = NULL;
VARIANT var;
IADs *pADs = NULL;
ULONG lFetch;
IDispatch *pDisp = NULL;
VariantInit(&var);
hr = pEnum->Next(1, &var, &lFetch);
while(hr == S_OK)
{
if (lFetch == 1)
{
pDisp = V_DISPATCH(&var);
pDisp->QueryInterface(IID_IADs, (void**)&pADs);
pADs->get_Name(&bstr);
printf("Session name: %S\n",bstr);
SysFreeString(bstr);
pADs->Release();
}
VariantClear(&var);
pDisp->Release();
pDisp = NULL;
hr = pEnum->Next(1, &var, &lFetch);
};
Cleanup:
if(pDisp) pDisp->Release();
if(pUnk) pUnk->Release();
if(pColl) pColl->Release();
if(pEnum) pEnum->Release();
return hr;
}
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
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