IEnumWbemClassObject::Metode berikutnya (wbemcli.h)
Gunakan metode IEnumWbemClassObject::Next untuk mendapatkan satu atau beberapa objek yang dimulai pada posisi saat ini dalam enumerasi. Metode ini memajukan posisi saat ini dalam enumerasi oleh objek uCount , sehingga panggilan berikutnya mengembalikan objek berikutnya.
Sintaks
HRESULT Next(
[in] long lTimeout,
[in] ULONG uCount,
[out] IWbemClassObject **apObjects,
[out] ULONG *puReturned
);
Parameter
[in] lTimeout
Menentukan jumlah waktu maksimum dalam milidetik yang diblokir panggilan sebelum kembali. Jika Anda menggunakan WBEM_INFINITE konstanta (0xFFFFFFFF), panggilan akan memblokir hingga objek tersedia. Jika Anda menggunakan nilai 0 (WBEM_NO_WAIT), panggilan segera kembali, apakah ada objek yang tersedia atau tidak.
[in] uCount
Jumlah objek yang diminta.
[out] apObjects
Pointer ke penyimpanan yang cukup untuk menahan jumlah pointer antarmuka IWbemClassObject yang ditentukan oleh uCount. Penyimpanan ini harus disediakan oleh pemanggil. Parameter ini tidak boleh NULL. Penelepon harus memanggil Rilis pada setiap pointer antarmuka yang diterima ketika mereka tidak lagi diperlukan.
[out] puReturned
Penunjuk ke ULONG yang menerima jumlah objek yang dikembalikan. Angka ini bisa kurang dari angka yang diminta di uCount. Penunjuk ini tidak boleh NULL.
Mengembalikan nilai
Metode Berikutnya mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang terkandung dalam HRESULT.
Keterangan
Anda mungkin melihat kode kesalahan khusus COM yang dikembalikan jika masalah jaringan menyebabkan Anda kehilangan koneksi jarak jauh ke Manajemen Windows. Jika terjadi kesalahan, Anda dapat memanggil fungsi COM GetErrorInfo untuk mendapatkan informasi kesalahan lebih lanjut.
Jika lebih dari satu objek diminta, dan jika jumlah objek yang diminta dikembalikan, fungsi akan mengembalikan WBEM_S_NO_ERROR. Jika kurang dari jumlah objek yang diminta tersedia, dan jika enumerasi telah selesai, objek tersebut dikembalikan dan fungsi mengembalikan WBEM_S_FALSE.
Jika enumerasi belum selesai, panggilan menunggu objek tersedia hingga waktu habis yang ditentukan. Jika waktu enumerasi habis sebelum objek tersedia, fungsi akan mengembalikan WBEM_S_TIMEDOUT.
Contoh
Untuk diskusi dan contoh pembuatan kueri yang diperluas di C++ dan WMI, lihat Membuat Kueri WMI Di C++ di CodeProject.
Dalam kode berikut, lebih dari satu objek diminta:HRESULT ProcessEnum( IEnumWbemClassObject* pEnum )
{
HRESULT hRes = WBEM_S_NO_ERROR;
// Final Next will return WBEM_S_FALSE
while ( WBEM_S_NO_ERROR == hRes )
{
ULONG uReturned;
IWbemClassObject* apObj[10];
hRes = pEnum->Next( WBEM_INFINITE, 10, apObj, &uReturned );
if ( SUCCEEDED( hRes ) )
{
// Do something with the objects.
//ProcessObjects( uReturned, apObj );
for ( ULONG n = 0; n < uReturned; n++ )
{
apObj[n]->Release();
}
} // If Enum succeeded...
} // While Enum is returning objects...
return hRes;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | wbemcli.h (termasuk Wbemidl.h) |
Pustaka | Wbemuuid.lib |
DLL | Fastprox.dll |