Partager via


Gestion d’une demande de IRP_MN_REMOVE_DEVICE

Le gestionnaire PnP utilise cette IRP pour diriger les pilotes vers la suppression de la représentation logicielle d’un appareil (objets d’appareil, 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 lorsque l’utilisateur demande à mettre à jour les pilotes.

Sur les systèmes Windows 2000 et versions ultérieures, le gestionnaire PnP envoie cette IRP quand Gestionnaire de périphériques désactive l’appareil. Sur Windows 98/Me, le gestionnaire PnP envoie à la place des irps d’arrêt. Pour plus d’informations, consultez Arrêt d’un appareil .

Le gestionnaire PnP effectue les opérations suivantes avant d’envoyer cette IRP aux pilotes d’un appareil :

  • Envoie IRP_MN_REMOVE_DEVICE demandes aux enfants de l’appareil, le cas échéant.

  • Avertit tous les composants en mode utilisateur et les pilotes en mode noyau qui se sont inscrits pour notification que l’appareil est en cours de suppression. Le gestionnaire PnP appelle tous les composants en mode utilisateur inscrits pour la notification de l’appareil cible sur un handle à l’appareil et appelle tous les pilotes en mode noyau inscrits pour EventCategoryTargetDeviceChange.

  • (Sur les systèmes Windows 2000 et versions ultérieures) Si un système de fichiers est monté sur l’appareil, le gestionnaire PnP envoie une demande de suppression au système de fichiers et tout système de fichiers filtre. En réponse, un système de fichiers démonte généralement le volume.

Le pilote supérieur d’une pile d’appareils gère un IRP de suppression et le transmet au pilote inférieur suivant. Le pilote de bus parent pour un appareil est le dernier pilote à effectuer ses opérations de suppression d’appareil. Un pilote gère la suppression des IRPs dans sa routine DispatchPnP .

Avant qu’un pilote ne retourne la réussite d’une demande de IRP_MN_REMOVE_DEVICE , il doit s’assurer que toutes les ressources de l’appareil ont été publiées. Cet IRP peut être le dernier appel avant le déchargement du pilote.

La suppression d’un appareil peut créer la nécessité de supprimer une série d’autres appareils. Le gestionnaire PnP coordonne la suppression des objets d’appareil supplémentaires du niveau supérieur au niveau de l’appareil racine.

Cette section décrit :

Suppression d’un appareil dans un pilote de fonction

Suppression d’un appareil dans un pilote de filtre

Suppression d’un appareil dans un pilote de bus