Problembehandlung bei der Implementierung von Container-IDs
Wenn mehrere instance eines Geräts in der Benutzeroberfläche "Geräte und Drucker" angezeigt werden, wenn Sie nur eine davon erwarten, implementiert das Gerät die Container-ID-Anforderungen nicht ordnungsgemäß. Diese falsche Implementierung bewirkt, dass der PnP-Manager (Plug & Play) einen oder mehrere Geräteknoten (Devnodes) in zusätzlichen Gerätecontainern für das Gerät gruppiert.
In einem solchen Fall sollten Sie Folgendes untersuchen:
Ist die Wechselmedienfunktion für jeden Devnode, der für das Gerät aufgelistet wird, richtig festgelegt?
Dies ist die häufigste Ursache für mehrere Geräteinstanzen auf der Benutzeroberfläche "Geräte und Drucker". Stellen Sie sicher, dass für jeden Devnode für das Gerät die Wechselgerätefunktion entsprechend festgelegt ist. Der oberste oder übergeordnete Devnode des Geräts sollte als herausnehmbar gemeldet werden, und alle untergeordneten Elemente sollten als nicht entfernbar gemeldet werden. Benutzerdefinierte Bustreiberimplementierungen müssen die wechselbare Beziehung für devnodes, die sie aufzählen, ordnungsgemäß zuweisen.
Geräte-Manager ist ein wertvolles Tool, um diese Probleme zu diagnostizieren. Sie können die vollständige Devnode-Hierarchie untersuchen, indem Sie die folgenden Schritte ausführen:
- Klicken Sie mit der rechten Maustaste auf das Symbol Arbeitsplatz , und klicken Sie dann auf Verwalten . und wählen Sie Geräte-Manager aus den Systemtools aus, die in der resultierenden Anzeige aufgeführt sind.
- Klicken Sie im Dropdownmenü auf Nach Verbindung anzeigen .
- Suchen Sie die Devnodes, aus denen Ihr Gerät besteht. Klicken Sie für jeden Devnode mit der rechten Maustaste auf den Knoten, und klicken Sie dann auf Eigenschaften.
- Klicken Sie auf der Registerkarte Details in der Dropdownliste Eigenschaften auf Funktionen.
Wenn die Liste der Funktionswerte für den devnode das flag CM_DEVCAP_REMOVABLE enthält, wird der devnode als herausnehmbar markiert. Der Plug & Play-Manager (PnP) erstellt dann einen neuen Gerätecontainer für den Devnode und die untergeordneten Elemente, die nicht entfernt werden können.
Weitere Informationen zur Wechselmedienfunktion finden Sie unter Container-IDs, die aus der Wechselmedienfunktion generiert wurden.
Weitere Informationen zu Geräte-Manager finden Sie unter Verwenden von Geräte-Manager.
Enthält das Gerät eine Container-ID oder einen anderen eindeutigen Bezeichner in der Hardware?
Stellen Sie sicher, dass das Format der Container-ID oder des eindeutigen Bezeichners in der Hardware den Formatanforderungen für den angegebenen Bus entspricht. Weitere Informationen finden Sie unter Container-IDs, die aus einer Bus-Specific Eindeutigen ID generiert wurden.
Wenn Devnodes für das Gerät von einem benutzerdefinierten Bustreiber aufgelistet werden, überprüfen Sie, ob der Bustreiber ordnungsgemäß auf die IRP_MN_QUERY_ID Anforderung für BusQueryContainerID antwortet.
Ist das Gerät mit mehr als einem Bus gleichzeitig mit dem Computer verbunden?
Wenn das Gerät gleichzeitig mit zwei oder mehr Bussen mit dem Computer verbunden ist, können zwei oder mehr Instanzen des Geräts auf der Benutzeroberfläche Geräte und Drucker angezeigt werden. Diese Instanzen können über eine oder mehrere Geräteinstanzen für jeden Bus verfügen, an den das Gerät angefügt ist. Um dieses Problem zu beheben, stellen Sie sicher, dass das Gerät eine Container-ID oder einen gerätespezifischen eindeutigen Bezeichner meldet und auf jedem Bus denselben Wert meldet.