Auflisten von Geräten (WMDM)

Windows Media Device Manager maintains a cache of connected devices that is updated when a Windows Media Device Manager application starts, when a Plug and Play (PnP) device connects or disconnects, or when the application calls IWMDeviceManager2::Reinitialize. Dieser Cache wird für die Anwendung verfügbar gemacht, wenn er IWMDeviceManager::EnumDevices oder IWMDeviceManager2::EnumDevices2 aufruft. Jedes Gerät wird der Anwendung als IWMDMDevice-Schnittstelle verfügbar gemacht. Wenn der Dienstanbieter für die Verarbeitung von PnP-Geräten registriert ist, erkennt Windows Media Geräte-Manager die aktuelle Liste der verbundenen Geräte. Wenn der Dienstanbieter für die Verarbeitung von Nicht-PnP-Geräten registriert ist, ist der Dienstanbieter für die Ermittlung angefügter Geräte verantwortlich. Ein Dienstanbieter kann nur für PnP- oder Nicht-PnP-Geräte registriert werden, nie beides.

Die folgenden Aktionen zeigen, wie Windows Media Geräte-Manager den Cache verwaltet oder aktualisiert. Beachten Sie, dass der Cache nie aktualisiert wird, wenn ein Nicht-PnP-Gerät eine Verbindung herstellt oder die Verbindung trennt.

Eine Windows Media Geräte-Manager-Anwendung wird gestartet.

  • Windows Media Geräte-Manager ruft eine Liste der angefügten PnP-Geräte aus dem PnP-Subsystem ab und ruft IMDServiceProvider2::CreateDevice für den SP auf, der für jedes verbundene Gerät registriert ist. (Der richtige Dienstanbieter wird ermittelt, indem der WMDMSPCLSID-Geräteparameter nach der Klassen-ID des für dieses Gerät verantwortlichen Dienstanbieters abgefragt wird. Weitere Informationen finden Sie unter Geräteparameter.) Alle zurückgegebenen Geräte werden dem Windows Media Geräte-Manager Cache von Geräten hinzugefügt.
  • Windows Media Geräte-Manager sucht alle Nicht-PnP-Dienstanbieter, die bei ihm registriert sind, und ruft IMDServiceProvider::EnumDevices für jeden Dienstanbieter auf, um von jedem Dienstanbieter eine Liste von Geräten abzurufen. Alle zurückgegebenen Geräte werden dem Cache hinzugefügt.

Die Anwendung ruft IWMDeviceManager/2::EnumDevices/2 auf.

  • Windows Medien Geräte-Manager gibt die zwischengespeicherte Geräteliste zurück.

Ein PnP-Gerät stellt eine Verbindung her.

  • Windows Media Geräte-Manager sucht den relevanten Dienstanbieter, ruft IMDServiceProvider2::CreateDevice auf und fügt das Gerät dem Cache hinzu.
  • Wenn die Anwendung IWMDMNotificationimplementiert, ruft Windows Media Geräte-Manager IWMDMNotification::WMDMMessage mit einer Eingangsbenachrichtigung auf.

Ein PnP-Gerät trennt die Verbindung

  • Windows Medien Geräte-Manager entfernt das Element aus dem Cache.
  • Wenn die Anwendung IWMDMNotification implementiert, ruft Windows Media Geräte-Manager IWMDMNotification::WMDMMessage mit einer Abflugbenachrichtigung auf.

Die Anwendung ruft IWMDeviceManager2::Reinitialize auf.

  • Aktualisiert den Cache mit allen verbundenen Geräten.

Ein Nicht-PnP-Gerät stellt eine Verbindung her oder trennt die Verbindung.

  • Windows Media Geräte-Manager wird nicht über die Ankunft oder den Abflug informiert und führt keine Maßnahmen aus.

Erstellen eines Dienstanbieters