IRP_MN_SET_LOCK

I driver del bus devono gestire questo IRP per i dispositivi figlio (PDO figlio) che supportano il blocco dei dispositivi. I driver di funzione e filtro non gestiscono questa richiesta.

Valore

0x12

Codice principale

IRP_MJ_PNP

Data di invio

Il gestore PnP invia questo IRP ai driver diretti per bloccare il dispositivo e impedire l'espulsione del dispositivo o per sbloccare il dispositivo.

Il gestore PnP invia questo IRP al PASSIVE_LEVEL IRQL in un contesto di thread arbitrario.

Parametri di input

Il membro Parameters.SetLock.Lock della struttura IO_STACK_LOCATION è un valore BOOLEAN che specifica se bloccare (TRUE) o sbloccare (FALSE) il dispositivo.

Parametri di output

Nessuno

Blocco dello stato I/O

Un driver del bus imposta Irp-IoStatus.Status> su STATUS_SUCCESS o su uno stato di errore appropriato.

In caso di esito positivo, un driver imposta Irp-IoStatus.Information> su zero.

Se un conducente dell'autobus non gestisce questo IRP, lascia Irp-IoStatus.Status> così come è e completa l'IRP.

I driver di funzione e filtro non gestiscono questo IRP. Tali driver chiamano IoSkipCurrentIrpStackLocation e passano l'IRP al driver successivo. I driver di funzione e filtro non impostano una routine IoCompletion, non modificano Irp-IoStatus> e non devono completare l'IRP.

Operazione

Se un driver restituisce l'esito positivo per questo IRP, garantisce che il dispositivo sia stato bloccato o sbloccato prima di completare l'IRP.

Vedere Plug and Play per le regole generali per la gestione dei runtime di integrazione secondaria di Plug and Play.

Invio di questo IRP

Riservato per l'utilizzo nel sistema. I driver non devono inviare questo IRP.

Requisiti

Intestazione

Wdm.h (include Wdm.h, Ntddk.h o Ntifs.h)