Auflisten von Geräten (WMDM)

Windows Media Geräte-Manager verwaltet einen Cache mit verbundenen Geräten, der aktualisiert wird, wenn eine Windows Media Geräte-Manager-Anwendung gestartet wird, wenn ein PnP-Gerät (Plug & Play) eine Verbindung herstellt oder trennt oder wenn die Anwendung IWMDeviceManager2::Reinitialize aufruft. Dieser Cache wird für die Anwendung verfügbar gemacht, wenn IWMDeviceManager::EnumDevices oder IWMDeviceManager2::EnumDevices2 aufgerufen wird. 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, werden Windows Media-Geräte-Manager die aktuelle Liste der verbundenen Geräte kennen. 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, niemals 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 auf dem SP auf, der für jedes verbundene Gerät registriert ist. (Er ermittelt den richtigen Dienstanbieter, indem der WMDMSPCLSID-Geräteparameter nach der Klassen-ID des für dieses Gerät zuständigen 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 ihr 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 Media Geräte-Manager gibt die zwischengespeicherte Geräteliste zurück.

Ein PnP-Gerät stellt eine Verbindung bereit

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

Ein PnP-Gerät trennt die Verbindung.

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

Die Anwendung ruft IWMDeviceManager2::Reinitialize auf.

  • Aktualisiert den Cache mit allen verbundenen Geräten.

Ein Nicht-PnP-Gerät verbindet oder trennt

  • Windows Media Geräte-Manager wird nicht über die Ankunft oder Abreise informiert und ergreift keine Maßnahmen.

Erstellen eines Dienstanbieters