Partager via


Énumération d’appareils (WMDM)

Windows Media Gestionnaire de périphériques gère un cache d’appareils connectés qui est mis à jour au démarrage d’une application Windows Media Gestionnaire de périphériques, lorsqu’un appareil Plug-and-Play (PnP) se connecte ou se déconnecte, ou quand l’application appelle IWMDeviceManager2::Reinitialize. Ce cache est exposé à l’application lorsqu’elle appelle IWMDeviceManager::EnumDevices ou IWMDeviceManager2::EnumDevices2. Chaque appareil est exposé à l’application en tant qu’interface IWMDMDevice . Si le fournisseur de services est inscrit pour gérer les appareils PnP, Windows Media Gestionnaire de périphériques sera informé de la liste actuelle des appareils connectés. Si le fournisseur de services est inscrit pour gérer les appareils non PnP, il est responsable de la découverte des appareils attachés. Un fournisseur de services ne peut être inscrit que pour des appareils PnP ou non PnP, jamais les deux.

Les actions suivantes montrent comment Windows Media Gestionnaire de périphériques maintient ou met à jour son cache. Notez que le cache n’est jamais mis à jour lorsqu’un appareil non PnP se connecte ou se déconnecte.

Une application Windows Media Gestionnaire de périphériques démarre

  • Windows Media Gestionnaire de périphériques récupère une liste d’appareils PnP attachés à partir du sous-système PnP et appelle IMDServiceProvider2::CreateDevice sur le fournisseur de services inscrit pour chaque appareil connecté. (Il découvre le fournisseur de services approprié en interrogeant le paramètre d’appareil WMDMSPCLSID pour l’ID de classe du fournisseur de services responsable de cet appareil. Pour plus d’informations, consultez Paramètres d’appareil.) Tous les appareils retournés sont ajoutés au cache windows Media Gestionnaire de périphériques des appareils.
  • Windows Media Gestionnaire de périphériques recherche tous les fournisseurs de services non PnP inscrits auprès de celui-ci et appelle IMDServiceProvider::EnumDevices sur chaque fournisseur de services pour obtenir une liste d’appareils de chacun d’eux. Tous les appareils retournés sont ajoutés au cache.

L’application appelle IWMDeviceManager/2::EnumDevices/2

  • Windows Media Gestionnaire de périphériques retourne sa liste d’appareils mis en cache.

Un appareil PnP se connecte

  • Windows Media Gestionnaire de périphériques recherche le fournisseur de services approprié et appelle IMDServiceProvider2::CreateDevice, puis ajoute l’appareil à son cache.
  • Si l’application implémente IWMDMNotification, Windows Media Gestionnaire de périphériques appelle IWMDMNotification::WMDMMessage avec une notification d’arrivée.

Un appareil PnP se déconnecte

  • Windows Media Gestionnaire de périphériques supprime l’élément de son cache.
  • Si l’application implémente IWMDMNotification, Windows Media Gestionnaire de périphériques appelle IWMDMNotification::WMDMMessage avec une notification de départ.

L’application appelle IWMDeviceManager2::Reinitialize

  • Actualise le cache avec tous les appareils connectés.

Un appareil non PnP se connecte ou se déconnecte

  • Windows Media Gestionnaire de périphériques n’est pas informé de l’arrivée ou du départ et n’effectue aucune action.

Création d’un fournisseur de services