IRP_MN_SET_LOCK

Driver bus harus menangani IRP ini untuk perangkat anak mereka (PDO anak) yang mendukung penguncian perangkat. Fungsi dan driver filter tidak menangani permintaan ini.

Nilai

0x12

Kode Utama

IRP_MJ_PNP

Ketika Dikirim

Manajer PnP mengirim IRP ini ke driver langsung untuk mengunci perangkat dan mencegah perangkat dikeluarkan, atau untuk membuka kunci perangkat.

Manajer PnP mengirimkan IRP ini di IRQL PASSIVE_LEVEL dalam konteks utas arbitrer.

Parameter Input

Anggota Parameters.SetLock.Lock dari struktur IO_STACK_LOCATION adalah nilai BOOLEAN yang menentukan apakah akan mengunci (TRUE) atau membuka kunci (FALSE) perangkat.

Parameter Output

Tidak ada

Blok Status I/O

Driver bus mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS atau ke status kesalahan yang sesuai.

Setelah berhasil, driver menetapkan Irp-IoStatus.Information> ke nol.

Jika driver bus tidak menangani IRP ini, ia meninggalkan Irp-IoStatus.Status> apa adanya dan menyelesaikan IRP.

Pengandar fungsi dan filter tidak menangani IRP ini. Driver tersebut memanggil IoSkipCurrentIrpStackLocation dan meneruskan IRP ke driver berikutnya. Driver fungsi dan filter tidak mengatur rutinitas IoCompletion, tidak memodifikasi Irp-IoStatus>, dan tidak boleh menyelesaikan IRP.

Operasi

Jika driver mengembalikan keberhasilan untuk IRP ini, ia memastikan bahwa perangkat telah dikunci atau tidak terkunci sebelum menyelesaikan IRP.

Lihat Plug and Play aturan umum untuk menangani Plug and Play runtime integrasi kecil.

Mengirim IRP ini

Dicadangkan untuk penggunaan sistem. Driver tidak boleh mengirim IRP ini.

Persyaratan

Header

Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h)