Bagikan melalui


Menggunakan Pemberitahuan Kustom PnP

Driver dapat menggunakan mekanisme pemberitahuan perubahan perangkat target untuk diberi tahu tentang peristiwa kustom pada perangkat.

Programmer yang mendefinisikan peristiwa kustom harus melakukan hal berikut:

  1. Tentukan GUID baru untuk peristiwa kustom.

    Hasilkan GUID dengan Uuidgen atau Guidgen (yang disertakan dalam Microsoft Windows SDK). Terbitkan GUID dalam file header dan dokumentasi yang sesuai.

  2. Tulis kode untuk memicu peristiwa kustom.

    Dalam mode kernel, driver memanggil IoReportTargetDeviceChange dengan GUID kustom dan pointer ke PDO untuk perangkat. Peristiwa kustom hanya dapat dipicu dari mode kernel.

Penulis driver menggunakan pemberitahuan kustom dengan prosedur seperti berikut ini:

  1. Driver (atau aplikasi) mendaftar untuk pemberitahuan peristiwa kustom.

    Dalam mode kernel, driver memanggil IoRegisterPlugPlayNotification dan mendaftar untuk EventCategoryTargetDeviceChange pada perangkat.

    Dalam mode pengguna, aplikasi mendaftar menggunakan RegisterDeviceNotification. Lihat Windows SDK untuk informasi lebih lanjut.

  2. Komponen mode kernel memicu peristiwa kustom.

  3. Manajer PnP memanggil rutinitas pemberitahuan yang terdaftar di perangkat.

    Manajer PnP memanggil rutinitas panggilan balik mode pengguna terdaftar dan kemudian memanggil rutinitas panggilan balik mode kernel.

  4. Ketika pemberitahuan mode pengguna selesai, rutinitas panggilan balik pemberitahuan driver mode kernel merespons peristiwa kustom.

    Lihat Panduan untuk Menulis Rutinitas Panggilan Balik Pemberitahuan PnP untuk panduan umum untuk rutinitas panggilan balik pemberitahuan. Selain panduan tersebut, rutinitas panggilan balik pemberitahuan kustom tidak boleh membuka handel ke perangkat dari dalam utas rutin panggilan balik.