Bagikan melalui


Menulis Penyedia Kelas

Penyedia kelas mengelola kelas atau serangkaian kelas untuk WMI. Penyedia kelas dapat berupa push atau pull; artinya, dapat menyimpan datanya sendiri atau memungkinkan WMI menyimpan data untuk itu di Layanan Manajemen Windows. Meskipun penyedia kelas diinstal pada komputer tertentu, penyedia kelas dapat mengubah definisi kelas di seluruh perusahaan. Oleh karena itu, kebanyakan pengembang jarang 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 menerapkan penyedia kelas.

Untuk menerapkan penyedia kelas

  1. Tentukan apakah penyedia Anda adalah penyedia push atau pull.

    Penyedia pull menyediakan data secara dinamis untuk memenuhi permintaan aplikasi, sedangkan penyedia push menyimpan data mereka secara permanen di repositori WMI. Untuk keterangan lebih lanjut, lihat Menentukan Status Dorong atau Tarik.

  2. Desain dan daftarkan penyedia kelas Anda pada WMI.

    Penyedia kelas mendaftar dengan WMI dengan membuat instans __Win32Provider dan instans __ClassProviderRegistration. Untuk informasi selengkapnya, lihat Mendaftarkan Penyedia Kelas.

  3. Terapkan antarmukaIWbemProviderInit 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 Inisialisasi penyedia.

    Nota

    Penyedia kelas sangat dianjurkan untuk menggunakan model multithreading "Both".

     

  4. Tambahkan kode tambahan yang diperlukan untuk penyedia Anda.

    Saat merancang penyedia Anda, Anda kemungkinan besar perlu memanggil antarmuka WMI. Untuk informasi selengkapnya, lihat Memanggil Metode dan Mempertahankan Tingkat Keamanan diPenyedia .

    Saat mengambil informasi untuk klien, Anda mungkin perlu mengakses tingkat keamanan untuk klien tersebut. Untuk informasi selengkapnya, lihat Mengaku sebagai Klien.

  5. Terapkan antarmukaIWbemServicesuntuk penyedia Anda.

    Antarmuka IWbemServices adalah antarmuka utama untuk penyedia kelas pull. Untuk informasi selengkapnya, lihat Menerapkan Antarmuka Utama untuk Penyedia Kelas.

  6. 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.