Pengantar WMI untuk Driver KMDF

[Berlaku untuk KMDF saja]

Kernel-Mode Driver Framework mendukung driver yang memberikan informasi ke Windows Management Instrumentation (WMI). Driver tersebut disebut penyedia data WMI karena mereka menyediakan data kepada klien WMI, yang merupakan aplikasi yang telah mendaftar untuk menerima informasi dari WMI.

Penyedia data WMI mendukung blok data WMI, yang dapat mewakili satu atau beberapa hal berikut:

  • Item data, yang berisi data khusus perangkat yang dikirim oleh driver, atau diterima, klien WMI.

  • Metode (fungsi) yang dijalankan driver atas nama klien WMI.

  • Peristiwa yang dikirim driver ke klien WMI yang telah terdaftar untuk menerima pemberitahuan peristiwa khusus perangkat.

Blok data WMI ditentukan sebagai kelas WMI dalam file .mof. Setiap blok data WMI diidentifikasi oleh GUID.

Semua driver harus mendukung blok data WMI standar yang ditentukan WMI untuk kelas perangkat mereka. Blok data WMI ini didefinisikan dalam Wmicore.mof.

Driver Anda juga dapat mendukung blok data WMI yang Anda tentukan dalam file .mof. Untuk mempelajari cara menentukan dan menerbitkan blok data WMI yang dikustomisasi, lihat bagian berikut ini:

Objek WMI Kerangka Kerja dan Fungsi Panggilan Balik

Kerangka kerja menentukan dua objek yang dapat digunakan driver untuk mengimplementasikan penyedia data WMI. Objek penyedia WMI mewakili skema untuk blok data WMI yang disediakan driver. Objek instans WMI mewakili instans blok data yang terkait dengan penyedia tertentu. Driver berkomunikasi dengan klien WMI dengan menerapkan fungsi panggilan balik peristiwa berikut yang ditentukan oleh kedua objek ini:

EvtWmiProviderFunctionControl
Mengaktifkan dan menonaktifkan dukungan driver untuk mengumpulkan data WMI dan mengirim peristiwa WMI.

EvtWmiInstanceQueryInstance
Mengirimkan data instans penyedia WMI ke klien WMI.

EvtWmiInstanceSetInstance dan EvtWmiInstanceSetItem
Atur informasi dalam blok data driver ke nilai yang disediakan klien.

EvtWmiInstanceExecuteMethod
Menjalankan metode yang disediakan driver, atas permintaan klien.

Contoh Driver yang Mengimplementasikan WMI

Driver sampel FIREFLY, PCIDRV, dan Toaster adalah penyedia data WMI.