Bagikan melalui


Metode IEnumWbemClassObject::NextAsync (wbemcli.h)

Gunakan metode NextAsync saat pengambilan objek asinkron terkontrol ke sink diperlukan. Pengambilan asinkron normal, seperti panggilan ke IWbemServices::ExecQueryAsync, menghasilkan pengiriman objek yang tidak terkontrol ke implementasi pemanggil IWbemObjectSink. Metode ini sangat membantu untuk kasus di mana komponen mengontrol pengiriman objek.

Sintaks

HRESULT NextAsync(
  [in] ULONG           uCount,
  [in] IWbemObjectSink *pSink
);

Parameter

[in] uCount

Jumlah objek yang diminta.

[in] pSink

Sink untuk menerima objek. Sink harus diimplementasikan oleh pemanggil. Karena setiap batch objek diminta, mereka dikirimkan ke parameter pSink dari metode Indikasikan diikuti dengan panggilan akhir ke parameter pSink dari metode SetStatus . Jika sink akan digunakan untuk mengirimkan objek, metode ini mengembalikan WBEM_S_NO_ERROR, bahkan jika jumlah objek yang akan dikirimkan kurang dari yang diminta. Namun, jika tidak ada lagi objek yang tersisa, maka parameter pSink diabaikan (tidak ada panggilan ke parameter pSinkSetStatus yang dilakukan). Sebaliknya, metode ini mengembalikan WBEM_S_FALSE.

Nilai kembali

Metode NextAsync mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang terkandung dalam HRESULT.

Keterangan

Panggilan ke fungsi COM GetErrorInfo menyediakan informasi selengkapnya tentang kesalahan tersebut. Kode kesalahan khusus COM juga dapat dikembalikan jika masalah jaringan menyebabkan Anda kehilangan koneksi jarak jauh ke Manajemen Windows.

Panggilan ini segera kembali dan pengiriman ke sink terjadi di latar belakang. Jika beberapa panggilan dilakukan ke metode ini dari satu atau beberapa utas, mereka secara logis mengantre dan urutan panggilan dan pengiriman objek dipertahankan. Beberapa panggilan yang dilakukan ke metode ini dari satu atau beberapa blok utas tidak kembali sampai semua objek sink yang terkait dengan panggilan sebelumnya ke metode ini telah dilayankan. Panggilan ke Reset tidak memengaruhi pengiriman objek yang saat ini sedang berlangsung sebagai akibat dari panggilan sebelumnya. Metode Reset hanya menyebabkan panggilan baru dimulai di awal urutan objek.

Jika jumlah objek yang diminta segera tersedia, fungsi akan mengembalikan WBEM_S_NO_ERROR. Jika kurang dari jumlah objek yang diminta tersedia, objek yang tersedia dikembalikan dan WBEM_S_NO_ERROR dikembalikan. Sisa objek dikirimkan oleh sink yang disediakan pengguna.

Saat objek tersedia, implementasi pemanggil dari IWbemObjectSink::Menunjukkan disebut nol atau lebih kali untuk mengirimkan objek. Ini diikuti dengan panggilan ke IWbemObjectSink::SetStatus dengan nilai WBEM_S_NO_ERROR jika item uCount dikembalikan.

Jika lebih sedikit objek yang tersedia daripada angka yang diminta, Tunjukkan dipanggil untuk objek yang tersedia. SetStatus kemudian dipanggil dengan nilai WBEM_S_FALSE, atau kode kesalahan jika terjadi kesalahan.

Jika jumlah objek yang diminta dikirimkan, objek akhir diikuti dengan panggilan ke SetStatus dengan kode status WBEM_S_NO_ERROR. Jika enumerasi selesai sebelum jumlah objek yang diminta dapat dikirimkan, metode SetStatus memiliki kode status WBEM_S_FALSE.

Jika tidak ada objek yang tersedia, Tunjukkan tidak dipanggil. Namun, panggilan terakhir ke SetStatus selalu terjadi untuk menunjukkan status seluruh operasi.

Karena panggilan balik mungkin tidak dikembalikan pada tingkat autentikasi yang sama dengan yang dibutuhkan klien, disarankan agar Anda menggunakan semisinkron alih-alih komunikasi asinkron. Jika Anda memerlukan komunikasi asinkron, lihat Memanggil Metode.

Untuk informasi selengkapnya tentang menggunakan metode secara semisinkron, lihat IEnumWbemClassObject::Next dan Memanggil Metode.

Persyaratan

   
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