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
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) |