Bagikan melalui


Panduan Desain untuk Memulai Perangkat

  • Manajer PnP mengalami kegagalan dalam memproses permintaan untuk perangkat hingga IRP IRP_MN_START_DEVICE selesai, yang menunjukkan bahwa semua driver untuk perangkat tersebut telah menyelesaikan operasi mulai mereka.

  • Karena DispatchPnP rutin berjalan dalam konteks utas sistem di IRQL PASSIVE_LEVEL, memori apa pun yang dialokasikan dengan ExAllocatePoolWithTag untuk digunakan secara eksklusif selama inisialisasi dapat berasal dari kumpulan halaman selama driver tidak mengontrol perangkat yang menyimpan file halaman sistem. Alokasi memori semacam itu harus dibebaskan dengan ExFreePool sebelum rutinitas DispatchPnP mengembalikan kontrol.

  • ISR driver perangkat WDM harus mampu menentukan apakah telah dipanggil dengan gangguan palsu bahkan selama startup perangkat. Saat kembali dari panggilan ke IoConnectInterrupt di jalur kode yang menangani IRP_MN_START_DEVICE, ISR dapat segera dipanggil jika interupsi diaktifkan pada perangkat.