Mengembangkan Penyedia WMI

Penyedia adalah objek Model Objek Komponen (COM) yang bertindak sebagai perantara antara WMI dan objek terkelola. Misalnya, ketika aplikasi atau skrip meminta data disk menggunakan kelas WMI Win32_LogicalDisk , data diperoleh secara dinamis melalui penyedia Win32 yang telah diinstal sebelumnya.

Jika Anda ingin menyediakan data melalui WMI ke aplikasi lain, Anda dapat membuat penyedia kode yang tidak dikelola dengan menulis server COM atau melalui wizard WMI ATL di Visual Studio. Anda dapat menulis penyedia kode terkelola dengan menggunakan WMI di .NET Framework. Topik di bagian ini menjelaskan proses penulisan penyedia COM yang tidak dikelola.

Catatan

Untuk memastikan bahwa semua definisi kelas WMI Anda untuk objek terkelola dipulihkan ke repositori WMI jika WMI mengalami kegagalan dan menghidupkan ulang, gunakan instruksi pra-prosesor pemulihan otomatis #pragma dalam file Managed Object Format (MOF) Anda.

Penyedia terdiri dari kelas yang ditentukan dalam skema Managed Object Format (MOF) dan file DLL yang menjalankan fungsi penyedia. Misalnya, MOF yang mendefinisikan kelas penyedia Win32 adalah CIMWin32.mof dan DLL CIMWin32.dll, keduanya ditemukan di %windir%\System32\Wbem.

Skema MOF untuk penyedia mungkin berisi beberapa jenis penyedia. Misalnya, Penyedia Log Peristiwa memiliki jenis instans, metode, dan penyedia peristiwa dalam satu file MOF bernama Ntevt.mof. Disarankan agar semua kelas dan skema pendaftaran untuk penyedia terkait dirakit dalam satu file, daripada membuat satu file per kelas.

Selain menggunakan penyedia yang telah diinstal sebelumnya, Anda dapat membuat penyedia Anda sendiri untuk menyediakan informasi tentang perangkat keras atau operasi perangkat lunak.

Tabel berikut ini mencantumkan tugas dasar yang membuat penyedia.

Tugas Deskripsi
Merancang Kelas Managed Object Format (MOF) Kembangkan model untuk entitas yang ingin Anda kelola melalui WMI dan buat file Managed Object Format (MOF) untuk menjelaskan skema.
Menyediakan Data ke WMI dengan Menulis Penyedia Buat penyedia paling dasar yang digabungkan dengan WMI.
Menggabungkan Penyedia dalam Aplikasi Sertakan penyedia sebagai komponen dalam aplikasi jika tidak berjalan sepanjang waktu.
Mendaftarkan Penyedia Daftarkan penyedia dengan COM dan WMI.
Menginisialisasi Penyedia Terapkan antarmuka IWbemProviderInit dan IWbemProviderInitSink .
Melakukan Panggilan ke WMI Panggil antarmuka WMI dari penyedia.
Meniru Klien Atur keamanan untuk mengakses aplikasi klien.
Memperbarui Penyedia Tingkatkan penyedia sesuai kebutuhan.
Membongkar Penyedia Hapus penyedia dari memori selama matikan atau ketika penyedia menganggur.
Penyedia Debugging dan Konfigurasi Penyedia dan Kelas Pemecahan Masalah Debug penyedia Anda menggunakan fasilitas yang disediakan oleh WMI.
Mendapatkan dan Menyediakan Data di Komputer 64-bit Evaluasi apakah Anda memerlukan penyedia kompatibilitas aplikasi 32-bit atau apakah penyedia 64-bit dapat menyediakan data ke kedua klien.

Topik berikut membahas langkah-langkah yang diperlukan untuk menulis berbagai jenis penyedia: