Partager via


Règle PnpSurpriseRemove (wdm)

La règle PnpSurpriseRemove spécifie que le pilote n’appelle pas IoDeleteDevice ou IoDetachDevice lors du traitement d’une demande de IRP_MN_SURPRISE_REMOVAL .

Le gestionnaire PnP envoie au IRP_MN_SURPRISE_REMOVAL demande d’informer les pilotes qu’un appareil n’est plus disponible pour les opérations d’E/S et qu’il a probablement été supprimé de manière inattendue de l’ordinateur.

  • Tous les pilotes PnP doivent gérer IRP_MN_SURPRISE_REMOVAL demande.
  • Le pilote ne doit pas appeler IoDeleteDevice ou IoDetachDevice sur les objets d’appareil tant que la IRP_MN_SURPRISE_REMOVAL IRP n’a pas réussi et que tous les handles ouverts sur l’appareil sont fermés.
  • Le gestionnaire PnP envoie ensuite une requête IRP_MN_REMOVE_DEVICE à la pile d’appareils. En réponse à l’IRP de suppression, les pilotes détachent leurs objets d’appareil de la pile et les suppriment.

Pour plus d’informations sur la façon dont un pilote doit répondre à IRP_MN_SURPRISE_REMOVAL demande, consultez Gestion d’une demande de IRP_MN_SURPRISE_REMOVAL

Modèle de pilote : WDM

Comment tester

Au moment de la compilation

Exécutez Static Driver Verifier et spécifiez la règle PnpSurpriseRemove .

Utilisez les étapes suivantes pour exécuter l’analyse de votre code :
  1. Préparez votre code (utilisez les déclarations de type).
  2. Exécutez le vérificateur de pilote statique.
  3. Affichez et analysez les résultats.

Pour plus d’informations, consultez Utilisation du vérificateur de pilote statique pour rechercher des défauts dans les pilotes.

S’applique à

IoDeleteDeviceIoDetachDevice

Voir aussi

Gestion d’une demande de IRP_MN_SURPRISE_REMOVALanalysant un pilote à l’aide des outils de vérification et d’analyse du codeIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE