Inscription à la notification de modification de l’interface d’appareil

Un pilote s’inscrit pour la notification des événements d’arrivée et de suppression de l’interface d’appareil en appelant IoRegisterPlugPlayNotification.

Les informations suivantes s’appliquent à l’appel de cette routine pour la notification de modification de l’interface de l’appareil :

  • Spécifiez un EventCategoryd’EventCategoryDeviceInterfaceChange.

  • EventCategoryData doit pointer vers le GUID d’une classe d’interface d’appareil.

    Le GUID d’une classe d’interface est généralement défini dans un fichier d’en-tête avec les structures, constantes, etc. de l’interface.

  • Spécifiez un EventCategoryFlags de PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES.

    Cet indicateur indique au gestionnaire PnP d’inscrire le CallbackRoutine pour les arrivées et les départs futurs de l’interface d’appareil de la classe spécifiée et d’appeler immédiatement le CallbackRoutine pour toutes les interfaces d’appareil pertinentes qui sont déjà actives.

    Un pilote peut appeler IoGetDeviceInterfaces pour obtenir la liste des interfaces existantes d’une classe spécifique, puis inscrire sa routine de rappel sans cet indicateur, mais l’utilisation de l’indicateur est plus facile et évite un problème de minutage potentiel.

  • Spécifiez un contexte défini par le pilote, le cas échéant, que le gestionnaire PnP passera à la routine de rappel.

Un pilote qui ouvre un handle sur un appareil en réponse à une notification d’arrivée de l’interface de l’appareil doit s’inscrire aux événements EventCategoryTargetDeviceChange sur l’appareil. (Voir Utilisation de la notification de modification d’appareil cible PnP.)

Un pilote annule l’inscription de notification en appelant IoUnregisterPlugPlayNotification avec notificationEntry retournée par IoRegisterPlugPlayNotification.