Menulis Penyedia Konsumen Peristiwa
Penyedia konsumen peristiwa adalah komponen dari arsitektur konsumen permanen yang menentukan konsumen peristiwa permanen mana yang menangani peristiwa tertentu. Anda harus membuat penyedia konsumen peristiwa bersama dengan konsumen peristiwa permanen Anda untuk merutekan peristiwa dengan benar dari WMI.
Penyedia penghubung acara menautkan penyedia acara dengan daftar kelas konsumen. Contoh dari kelas konsumen ini kemudian menerima event dari penyedia tersebut. WMI mengidentifikasi penyedia konsumen mana yang menerima kejadian, berdasarkan instans __EventConsumerProviderRegistration, yang mengaitkan instans penyedia konsumen __Win32Provider dengan kelas konsumen logis. Pengguna membuat instans kelas konsumen sebagai bagian dari langganan permanen. Jika penyedia acara tidak aktif saat suatu acara terjadi, maka WMI akan memulai penyedia itu ketika perlu menyampaikan acara.
Prosedur berikut menjelaskan cara mengimplementasikan penyedia konsumen acara.
Untuk menerapkan penyedia konsumen acara
Mendesain kelas konsumen dalam Managed Object Format (MOF) dan mendaftarkannya dengan WMI. Untuk informasi selengkapnya, lihat Merancang Kelas Format Objek Terkelola (MOF).
Penyedia kelas mendaftar dengan WMI dengan membuat instans __Win32Provider dan kelas __EventConsumerProviderRegistration. Untuk informasi selengkapnya, lihat Mendaftarkan Penyedia Konsumen Acara.
Terapkan antarmukaIWbemProviderInit untuk penyedia Anda.
WMI menggunakan IWbemProviderInit untuk memuat dan menginisialisasi penyedia. Untuk informasi selengkapnya, lihat Inisialisasi penyedia layanan.
Catatan
Penyedia layanan konsumen peristiwa sangat dianjurkan untuk menggunakan model multithreading "Keduanya".
Implementasikan antarmuka IWbemEventConsumerProvider untuk penyedia Anda.
Antarmuka IWbemEventConsumerProvider adalah antarmuka utama untuk penyedia konsumen peristiwa.
Sediakan satu atau beberapa konsumen fisik untuk menerima pesan peristiwa dari WMI.
Konsumen fisik adalah objek COM yang mewakili konsumen peristiwa permanen. Semua konsumen fisik harus menerapkan antarmuka IWbemUnboundObjectSink. Untuk informasi selengkapnya, lihat Penerapan Konsumen Fisik.