IRP_MN_SET_LOCK
Les pilotes de bus doivent gérer cette IRP pour leurs appareils enfants (PDO enfants) qui prennent en charge le verrouillage des appareils. Les pilotes de fonction et de filtre ne gèrent pas cette demande.
Valeur
0x12
Code majeur
Date d’envoi
Le gestionnaire PnP envoie cette IRP pour diriger le ou les pilotes pour verrouiller l’appareil et empêcher l’éjection de l’appareil, ou pour déverrouiller l’appareil.
Le gestionnaire PnP envoie cette IRP à IRQL PASSIVE_LEVEL dans un contexte de thread arbitraire.
Paramètres d’entrée
Le membre Parameters.SetLock.Lock de la structure IO_STACK_LOCATION est une valeur BOOLEAN qui spécifie s’il faut verrouiller (TRUE) ou déverrouiller (FALSE) l’appareil.
Paramètres de sortie
None
Bloc d’état E/S
Un pilote de bus définit Irp-IoStatus.Status> sur STATUS_SUCCESS ou sur une status d’erreur appropriée.
En cas de réussite, un pilote définit Irp-IoStatus.Information> sur zéro.
Si un pilote de bus ne gère pas cette IRP, il laisse Irp-IoStatus.Status> tel quel et termine l’IRP.
Les pilotes de fonction et de filtre ne gèrent pas cette IRP. Ces pilotes appellent IoSkipCurrentIrpStackLocation et passent l’IRP au pilote suivant. Les pilotes de fonction et de filtre ne définissent pas de routine IoCompletion, ne modifient pas Irp-IoStatus> et ne doivent pas terminer l’IRP.
Opération
Si un pilote retourne la réussite de cette IRP, il garantit que l’appareil a été verrouillé ou déverrouillé avant de terminer l’IRP.
Consultez Plug-and-Play pour connaître les règles générales relatives à la gestion des Plug-and-Play irps mineurs.
Envoi de cet IRP
Réservé pour le système. Les pilotes ne doivent pas envoyer cette IRP.
Spécifications
En-tête |
Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h) |