Partager via


PnpSurpriseRemove, règle (wdm)

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

Le gestionnaire PnP envoie la demande de IRP_MN_SURPRISE_REMOVAL pour 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 requête.
  • Le pilote ne doit pas appeler ioDeleteDevice ou IoDetachDevice sur les objets de l’appareil tant que l’IRP IRP_MN_SURPRISE_REMOVAL réussit et que tous les handles ouverts de l’appareil sont fermés.
  • Le gestionnaire PnP envoie ensuite une demande de 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

Guide pratique pour tester

Au moment de la compilation

Exécutez vérificateur de pilote statique et spécifiez la règle PnpSurpriseRemove.

Procédez comme suit pour exécuter une analyse de votre code :
  1. Préparer votre code (utilisez des déclarations de type de rôle).
  2. exécuter le vérificateur de pilote statique.
  3. Afficher et analyser les résultats.

Pour plus d’informations, consultez Using Static Driver Verifier to Find Defects in Drivers.

S’applique à

IoDeleteDeviceIoDetachDevice

Voir aussi

gérer unIRP_MN_SURPRISE_REMOVALIRP_MN_REMOVE_DEVICE de demande de IRP_MN_SURPRISE_REMOVAL