Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Antarmuka IWbemObjectSink membuat antarmuka sink yang dapat menerima semua jenis pemberitahuan dalam model pemrograman WMI. Klien harus menerapkan antarmuka ini untuk menerima hasil metode asinkronIWbemServices, dan jenis pemberitahuan peristiwa tertentu. Penyedia menggunakan, tetapi tidak mengimplementasikan antarmuka ini untuk menyediakan peristiwa dan objek ke WMI.
Biasanya, penyedia memanggil implementasi yang diberikan kepada mereka oleh WMI. Dalam kasus ini, panggil Tunjukkan untuk menyediakan objek ke layanan WMI. Setelah itu, panggil SetStatus untuk menunjukkan akhir urutan pemberitahuan. Anda juga dapat memanggil SetStatus untuk menunjukkan kesalahan saat sink tidak memiliki objek apa pun.
Saat memprogram klien asinkron WMI, pengguna menyediakan implementasi. WMI memanggil metode untuk mengirimkan objek dan mengatur status hasilnya.
Warisan
Antarmuka IWbemObjectSink mewarisi dari antarmuka IUnknown . IWbemObjectSink juga memiliki jenis anggota berikut:
Metode
Antarmuka IWbemObjectSink memiliki metode ini.
|
IWbemObjectSink::Menunjukkan Dipanggil oleh sumber untuk memberikan pemberitahuan. |
|
IWbemObjectSink::SetStatus Dipanggil oleh sumber untuk menunjukkan akhir urutan pemberitahuan, atau untuk mengirim kode status lain ke sink. |
Keterangan
Saat menerapkan sink langganan peristiwa (IWbemObjectSink atau IWbemEventSink), jangan memanggil WMI dari dalam metode Menunjukkan atau SetStatus pada objek sink. Misalnya, memanggil IWbemServices::CancelAsyncCall untuk membatalkan sink dari dalam implementasi Menunjukkan dapat mengganggu status WMI. Untuk membatalkan langganan acara, atur bendera dan panggil IWbemServices::CancelAsyncCall dari utas atau objek lain. Untuk implementasi yang tidak terkait dengan sink peristiwa, seperti pengambilan objek, enum, dan kueri, Anda dapat memanggil kembali ke WMI.
Implementasi sink harus memproses pemberitahuan peristiwa dalam 100 MSEC karena utas WMI yang mengirimkan pemberitahuan peristiwa tidak dapat melakukan pekerjaan lain sampai objek sink selesai diproses. Jika pemberitahuan memerlukan pemrosesan dalam jumlah besar, sink dapat menggunakan antrean internal untuk utas lain untuk menangani pemrosesan.
Contoh
Contoh kode berikut adalah implementasi sederhana dari sink objek. Sampel ini dapat digunakan dengan IWbemServices::ExecQueryAsync atau IWbemServices::CreateInstanceEnumAsync untuk menerima instans yang dikembalikan:
| C++ |
|---|
|
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) |
Lihat juga
Melakukan Panggilan Asinkron dengan C++