Menulis Penyedia Kelas
Penyedia kelas mengelola kelas atau serangkaian kelas untuk WMI. Penyedia kelas dapat didorong atau ditarik; artinya, dapat menyimpan datanya sendiri atau mengizinkan WMI untuk menyimpan data untuk data tersebut di Layanan Manajemen Windows. Meskipun penyedia kelas diinstal pada komputer tertentu, ia dapat mengubah definisi kelas di seluruh perusahaan. Oleh karena itu, sebagian besar pengembang tidak sering membuat penyedia kelas.
Sebelum membuat penyedia kelas, verifikasi bahwa kelas yang didukung benar-benar harus dihasilkan secara dinamis. Dalam kebanyakan kasus, daftar kelas berubah lambat dan terbatas. Jika demikian, Anda tidak perlu membuat penyedia kelas. Sebagai gantinya, Anda dapat menempatkan definisi kelas Anda di repositori WMI menggunakan API WMI atau file MOF.
Prosedur berikut menjelaskan cara mengimplementasikan penyedia kelas.
Untuk mengimplementasikan penyedia kelas
Tentukan apakah penyedia Anda adalah penyedia pendorongan atau penarikan.
Penyedia pull menyediakan data secara dinamis sebagai respons terhadap permintaan aplikasi, sedangkan penyedia pendorongan menyimpan data mereka sekali di repositori WMI. Untuk informasi selengkapnya, lihat Menentukan Status Pendorongan atau Penarikan.
Desain dan daftarkan penyedia kelas Anda dengan WMI.
Penyedia kelas mendaftar dengan WMI dengan membuat instans __Win32Provider dan instans __ClassProviderRegistration . Untuk informasi selengkapnya, lihat Mendaftarkan Penyedia Kelas.
Terapkan antarmuka IWbemProviderInit untuk penyedia Anda.
WMI menggunakan IWbemProviderInit untuk memuat dan menginisialisasi penyedia. Jika Anda merancang penyedia push, IWbemProviderInit adalah satu-satunya antarmuka yang akan Anda terapkan. Untuk informasi selengkapnya, lihat Menginisialisasi Penyedia.
Catatan
Penyedia kelas sangat didorong untuk menggunakan model multithreading "Keduanya".
Tambahkan kode tambahan yang diperlukan untuk penyedia Anda.
Saat merancang penyedia Anda, Kemungkinan besar Anda perlu memanggil antarmuka WMI. Untuk informasi selengkapnya, lihat Memanggil Metode dan Mempertahankan Tingkat Keamanan di Penyedia.
Saat mengambil informasi untuk klien, Anda mungkin perlu mengakses tingkat keamanan untuk klien tersebut. Untuk informasi selengkapnya, lihat Meniru Klien.
Terapkan antarmuka IWbemServices untuk penyedia Anda.
Antarmuka IWbemServices adalah antarmuka utama untuk penyedia kelas penarikan. Untuk informasi selengkapnya, lihat Menerapkan Antarmuka Utama untuk Penyedia Kelas.
Ganti penyedia yang sudah ada sebelumnya dengan kode baru Anda.
Anda tidak perlu melakukan langkah ini jika Anda tidak memiliki penyedia yang sudah ada sebelumnya untuk disalin. Untuk informasi selengkapnya, lihat Memperbarui Penyedia.