Partager via


IRP_MN_REMOVE_DEVICE

Tous les pilotes PnP doivent gérer cette IRP.

Valeur

0x02

Code majeur

IRP_MJ_PNP

Date d’envoi

Le gestionnaire PnP utilise cette IRP pour diriger les pilotes vers la suppression de la représentation logicielle d’un appareil (objets de périphérique, etc.). Le gestionnaire PnP envoie cette IRP lorsqu’un appareil a été supprimé de manière ordonnée (par exemple, à l’initiative d’un utilisateur dans le programme Débrancher ou éjecter le matériel), par surprise (un utilisateur extrait l’appareil de son emplacement sans avertissement préalable) ou quand l’utilisateur demande à mettre à jour le ou les pilotes.

Sur les systèmes Windows 2000 et ultérieurs, le gestionnaire PnP envoie également cette IRP si l’un des pilotes de la pile de périphériques échoue à une demande de IRP_MN_START_DEVICE pour l’appareil.

Pour une suppression ordonnée de l’appareil, le gestionnaire PnP envoie un IRP_MN_QUERY_REMOVE_DEVICE avant la suppression de l’IRP. Dans ce cas, l’appareil est dans l’état de suppression en attente lorsque l’IRP de suppression arrive. Pour une suppression surprise d’appareil sur Microsoft Windows 2000 ou version ultérieure, le gestionnaire PnP envoie une IRP_MN_SURPRISE_REMOVAL avant la suppression de la IRP. Dans ce cas, l’appareil est dans l’état de suppression surprise lorsque l’IRP de suppression arrive. Les pilotes peuvent également recevoir un IRP de suppression avant le démarrage d’un appareil. Dans ce cas, l’appareil est à l’état non démarré lorsque l’IRP arrive.

Le gestionnaire PnP envoie cette IRP à IRQL PASSIVE_LEVEL dans le contexte d’un thread système.

Paramètres d’entrée

Aucun

Paramètres de sortie

None

Bloc d’état E/S

Un pilote doit définir Irp-IoStatus.Status> sur STATUS_SUCCESS. Les pilotes ne doivent pas faire échouer cette IRP.

Opération

Cette IRP est d’abord gérée par le pilote en haut de la pile de périphériques, puis par chaque pilote inférieur de la pile.

En réponse à cette IRP, les pilotes effectuent des tâches telles que l’arrêt de l’appareil, la suppression de la représentation logicielle de l’appareil (objets de périphérique, etc.) et la libération des ressources pour l’appareil.

Pour plus d’informations sur la gestion de ce IRP, consultez Gestion d’une demande de IRP_MN_REMOVE_DEVICE. Pour obtenir des informations générales sur la prise en charge de la suppression d’un appareil, consultez Suppression d’un appareil.

Envoi de cette IRP

Réservé pour le système. Les pilotes ne doivent pas envoyer cette IRP.

Si un pilote de bus détecte qu’un (ou plusieurs) de ses appareils enfants (PPO enfants) a été physiquement supprimé de l’ordinateur, le pilote de bus appelle IoInvalidateDeviceRelations pour signaler la modification au gestionnaire PnP. Le gestionnaire PnP envoie ensuite des irps de suppression pour tous les appareils qui ont disparu.

Spécifications

En-tête

Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h)

Voir aussi

IoInvalidateDeviceRelations

IoRegisterPlugPlayNotification

IRP_MN_CANCEL_REMOVE_DEVICE

IRP_MN_QUERY_REMOVE_DEVICE

IRP_MN_SURPRISE_REMOVAL