Vue d’ensemble de la notification PnP
Le gestionnaire PnP fournit un mécanisme permettant aux pilotes et aux applications d’être avertis lorsque certains événements se produisent sur un appareil spécifique ou sur le système en général. Un pilote peut s’inscrire pour la notification des catégories d’événements suivantes :
EventCategoryDeviceInterfaceChange
Lorsqu’un pilote s’inscrit pour cette catégorie d’événements sur une interface d’appareil, le gestionnaire PnP avertit le pilote des événements suivants :
GUID_DEVICE_INTERFACE_ARRIVAL
Indique qu’une interface d’appareil de la classe spécifiée a été activée. Par exemple, un utilisateur a ajouté un nouveau disque à l’ordinateur et le gestionnaire de volumes a activé un nouveau volume (une interface d’appareil de la classe « volume »).GUID_DEVICE_INTERFACE_REMOVAL
Indique qu’une interface d’appareil de la classe spécifiée a été désactivée.Pour plus d’informations sur les interfaces d’appareil, consultez IoRegisterDeviceInterface et les routines associées.
EventCategoryTargetDeviceChange
Lorsqu’un pilote s’inscrit pour cette catégorie d’événements sur un appareil, le gestionnaire PnP avertit le pilote lorsque les événements suivants se produisent sur l’appareil :
GUID_TARGET_DEVICE_QUERY_REMOVE
Indique que le gestionnaire PnP est sur le point de supprimer les pilotes de l’appareil. Plusieurs actions peuvent provoquer cet événement, notamment : un utilisateur a demandé à supprimer l’appareil spécifié de l’ordinateur ou un utilisateur a émis une demande de pilote de mise à jour pour l’appareil. Cette notification demande aux pilotes de l’appareil d’approuver ou de mettre un veto à l’opération de suppression imminente.GUID_TARGET_DEVICE_REMOVE_COMPLETE
Indique que l’appareil spécifié a été supprimé de l’ordinateur ou qu’un utilisateur modifie le ou les pilotes de l’appareil.GUID_TARGET_DEVICE_REMOVE_CANCELLED
Indique qu’une opération de suppression imminente sur l’appareil spécifié a été annulée.GUID_XXX (événements personnalisés)
Indique qu’un événement personnalisé s’est produit sur l’appareil spécifié.Un enregistreur de pilotes peut définir un événement personnalisé pour un appareil. Lorsque le pilote (ou un autre composant associé) avertit le gestionnaire PnP que l’événement personnalisé s’est produit, le gestionnaire PnP avertit tous les composants inscrits pour les notifications de changement d’appareil cible sur l’appareil.
Contrairement à l’inscription pour les modifications de l’interface de l’appareil, qui peut être considérée comme un intérêt « passif » dans l’interface, l’inscription aux modifications de l’appareil cible indique un intérêt « actif » pour un appareil.
EventCategoryHardwareProfileChange
Cette catégorie comprend les événements suivants :
GUID_HWPROFILE_QUERY_CHANGE
Indique qu’un utilisateur a demandé à modifier le profil matériel de l’ordinateur. Le gestionnaire PnP utilise cette notification pour demander aux composants inscrits s’il peut modifier le profil matériel sans perturber le fonctionnement du système. Les composants inscrits réussissent généralement ces requêtes.GUID_HWPROFILE_CHANGE_COMPLETE
Indique que le profil matériel de l’ordinateur a changé. Si un pilote conserve des paramètres spécifiques au profil, ce pilote doit actualiser ces paramètres après un changement de profil matériel.GUID_HWPROFILE_CHANGE_CANCELLED
Indique qu’une modification imminente du profil matériel a été annulée.
La notification PnP fonctionne comme suit pour les composants en mode noyau :
Un pilote s’inscrit pour la notification sur une catégorie d’événements en appelant IoRegisterPlugPlayNotification.
Une routine de rappel de notification PnP reste inscrite jusqu’à ce que le pilote supprime explicitement l’inscription.
Le gestionnaire PnP appelle la routine de rappel du pilote lorsqu’un événement dans la catégorie inscrite se produit.
Le pilote supprime l’inscription de rappel en appelant IoUnregisterPlugPlayNotification.
Les pilotes ne doivent pas générer d’événement synchrone ou attendre qu’un événement asynchrone se produise pendant le traitement d’une fermeture.
Pour plus d’informations sur la notification PnP, consultez les sections suivantes :
Instructions pour l’écriture de routines de rappel de notification PnP
Utilisation de la notification de modification de l’interface d’appareil PnP
Utilisation de la notification de modification d’appareil cible PnP
Utilisation de la notification de modification de profil matériel PnP