IRP_MN_EJECT
Les pilotes de bus gèrent généralement cette demande pour leurs appareils enfants (PDO enfants) qui prennent en charge l’éjection d’appareil. Les pilotes de fonction et de filtre ne reçoivent pas cette demande.
Valeur
0x11
Code majeur
Date d’envoi
Le gestionnaire PnP envoie cette IRP pour diriger le ou les pilotes appropriés à éjecter l’appareil de son emplacement.
Le gestionnaire PnP envoie cette IRP à IRQL PASSIVE_LEVEL dans un contexte de thread arbitraire.
Paramètres d’entrée
Aucun
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 de bus 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.
Opération
Pour que l’appareil soit éjecté, l’appareil doit être à l’état d’alimentation de l’appareil D3 (désactivé) et doit être déverrouillé (si l’appareil prend en charge le verrouillage).
Tout pilote qui retourne la réussite de cette IRP doit attendre que l’appareil ait été éjecté 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.
Au lieu de cela, consultez la page de référence pour la routine IoRequestDeviceEject .
Spécifications
En-tête |
Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h) |