Inscription à la notification de modification d’appareil cible
Un pilote s’inscrit pour la notification des événements de changement d’appareil cible PnP en appelant IoRegisterPlugPlayNotification.
Les informations suivantes s’appliquent à l’appel de cette routine pour la notification de changement d’appareil cible :
Spécifiez un EventCategoryd’EventCategoryTargetDeviceChange.
EventCategoryData doit pointer vers l’objet file pour l’appareil sur lequel la notification est demandée.
Si la routine de rappel du pilote nécessite l’accès à l’objet fichier, le pilote doit extraire une référence sur l’objet fichier avant d’appeler IoRegisterPlugPlayNotification.
Si la routine de rappel du pilote ne nécessite pas l’accès à l’objet fichier, le pilote n’a pas besoin de référencer l’objet.
Une fois l’objet fichier fermé, le pilote continue de recevoir des notifications pour l’appareil jusqu’à ce que le pilote supprime son inscription de notification. Cette conception permet au pilote de recevoir une notification des événements GUID_TARGET_DEVICE_REMOVE_CANCELLED, par exemple.
Spécifiez un contexte défini par le pilote que le gestionnaire PnP passera à la routine de rappel.
Un pilote peut utiliser le paramètre Context pour conserver des informations sur l’état actuel de l’objet de fichier (par exemple, s’il a été fermé/supprimé).
Un pilote peut également utiliser le contexte pour stocker le chemin d’accès qu’il a utilisé pour ouvrir l’appareil à l’origine. Un pilote peut utiliser ce chemin pour rouvrir l’appareil après une opération de suppression annulée. (Pour plus d’informations , consultez Gestion d’un événement GUID_TARGET_DEVICE_REMOVE_CANCELLED .)
Un pilote supprime une inscription de notification en appelant IoUnregisterPlugPlayNotification avec l’objet NotificationEntry retourné par IoRegisterPlugPlayNotification. Si le pilote a pris une référence sur l’objet file lorsqu’il s’est inscrit pour la notification et que cette référence est toujours en attente, le pilote doit libérer la référence après avoir supprimé l’inscription.