Memulai Perangkat di Driver Bus

Pengemudi bus memulai perangkat anak ( PDO anak) dengan prosedur seperti berikut ini dalam rutinitas DispatchPnP-nya :

  1. Mulai perangkat.

    Langkah-langkah yang tepat bervariasi dari perangkat ke perangkat.

    Misalnya, driver bus PCI memprogram daftar pemetaannya untuk mengaktifkan permintaan pada bus PCI. Driver bus PnP ISA memungkinkan kartu PnP ISA sehingga driver fungsi dapat mengaksesnya.

  2. Selesaikan IRP.

    Jika operasi mulai driver bus berhasil, driver mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS dan memanggil IoCompleteRequest yang menentukan peningkatan prioritas IO_NO_INCREMENT. Sopir bus kembali STATUS_SUCCESS dari rutinitas DispatchPnP-nya .

    Jika driver bus mengalami kesalahan selama operasi mulai, driver menetapkan status kesalahan di IRP, memanggil IoCompleteRequest dengan IO_NO_INCREMENT, dan mengembalikan kesalahan dari rutinitas DispatchPnP-nya .

Jika driver bus memerlukan beberapa waktu untuk memulai perangkat, itu dapat menandai IRP sebagai tertunda dan kembali STATUS_PENDING.