Container-IDs, die aus einer Außerkraftsetzung der Wechselmedienfunktion generiert wurden
Ab Windows 7 sollten neue Geräte eine busspezifische eindeutige ID bereitstellen (wie unter Container-IDs aus einer Bus-Specific eindeutigen ID beschrieben).
Alternativ müssen Geräte und Bustreiber die Wechselmedienfunktion richtig festlegen (wie unter Container-IDs, die aus der Wechselmedienfunktion generiert werden) beschrieben. Weitere Informationen zur Wechselmedienfunktion finden Sie unter Übersicht über die Wechselmedienfunktion.
Windows 7 und höhere Versionen von Windows unterstützen auch einen Mechanismus zum Außerkraftsetzen der gemeldeten Wechselmedienfunktion. Dieser Mechanismus ist nützlich für Ältere Geräte, die die Wechselmedienfunktion falsch melden.
Obwohl der Überschreibungsmechanismus den Wert der Wechselmedienfunktion nicht ändert, erzwingt der PnP-Manager, beim Generieren von Container-IDs für Geräte die Außerkraftsetzungseinstellung und nicht den Wert der Wechselmedienfunktion zu verwenden.
Durch diesen Außerkraftsetzungsmechanismus kann eine Container-ID über eine registrierungsbasierte Methode generiert werden. Sobald die Container-ID für den obersten (übergeordneten) Geräteknoten (Devnode) eines Geräts generiert wird, wird dieselbe Container-ID von jedem untergeordneten Devnode des Geräts durch die unter Container-IDs generierte Aus der Wechselmedienfunktion generierte Heuristik geerbt.
Der Außerkraftsetzungsmechanismus ist eine registrierungsbasierte Nachschlagetabelle, die aus Registrierungsschlüsseln besteht, die bestimmten Geräten zugeordnet sind. Diese Außerkraftsetzungstabelle wird unter dem Registrierungsschlüssel DeviceOverrides verwaltet und besteht aus den folgenden Registrierungsschlüsseln und Unterschlüsseln.
Tabellenebene | Registrierungsschlüssel/Unterschlüsselname | Beschreibung |
---|---|---|
1 |
Übergeordneter Schlüssel für alle Außerkraftsetzungen von Wechselmedienfunktionen. |
|
2 |
Gibt die Hardware-ID eines Geräts an, für das die Wechselmedienfunktion außer Kraft gesetzt wird. Der Name dieses Unterschlüssels ist die tatsächliche Hardware-ID, wobei alle umgekehrten Schrägstrichzeichen durch Zahlenzeichen ("#") ersetzt werden. |
|
2 |
Gibt die kompatible ID eines Geräts an, für das die Wechselmedienfunktion außer Kraft gesetzt wird. Der Name dieses Unterschlüssels ist die tatsächliche Hardware-ID, wobei alle umgekehrten Schrägstrichzeichen durch Zahlenzeichen ("#") ersetzt werden. |
|
3 |
Gibt an, dass nur auf den Standortpfad des übergeordneten Geräteknotens (devnode) des Geräts die Wechselmedienfunktionsüberschreibung angewendet wird. |
|
3 |
Gibt an, dass auf den Speicherortpfad der untergeordneten Devnodes des Geräts die Wechselmedienfunktionsüberschreibung angewendet wird.
Hinweis Der übergeordnete Devnode des angegebenen Geräts ist von der Außerkraftsetzung der Wechselmedienfunktion nicht betroffen, es sei denn, es wird ebenfalls ein LocationPaths-Registrierungsunterschlüssel angegeben oder für den übergeordneten Devnode ein ChildLocationPaths-Registrierungsunterschlüssel angegeben.
|
|
4 |
Gibt den diskreten Speicherortpfad des Devnodes an, auf den die Außerkraftsetzung der Wechselmedienfunktion angewendet wird. Der Name dieses Unterschlüssels ist der tatsächliche Speicherortpfad für einen einzelnen Devnode instance eines auf dem Computer installierten Geräts. |
|
4 |
Gibt an, dass die Außerkraftsetzung der Wechselmedienfunktion für alle Devnodes für das angegebene Gerät gilt. |
Innerhalb der Unterschlüssel LocationPath und * Registrierung gibt ein DWORD-Wert (Removable) an, ob die entsprechenden Devnodes als entfernbar (1) oder nicht als entfernbar (0) gelten.
Beispiel 1
Im Folgenden wird eine Geräteüberschreibung für einen Devnode gezeigt, der einem HardwareID-Registrierungsunterschlüssel entspricht, zusätzlich zu einem Speicherortpfad, der über den Registrierungsunterschlüssel LocationPaths angegeben wird.
In diesem Beispiel deaktiviert die Außerkraftsetzung die Wechselmedienfunktion und wird auf alle Devnodes angewendet, die über die Hardware-ID USB\VID_1234&PID_5678 am Standortpfad PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1) verfügen.
Im Folgenden finden Sie ein Beispiel für das Registrierungstabellenformat für diese Außerkraftsetzung.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceOverrides
USB#VID_1234&PID_5678
LocationPaths
PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1)
Removable=0
In diesem Beispiel USB#VID_1234&PID_5678
ist der Name des HardwareID-Registrierungsunterschlüssels und PCIROOT(0)#PCI(102)#USBROOT(0)#USB(1)
der Name des Registrierungsunterschlüssels LocationPath.
Dadurch wird die Interpretation der Gerätetopologie durch den PnP-Manager (Plug & Play) geändert. Beachten Sie, dass der Devnode mit dem Hardware-ID-Wert USB\VID_1234&PID_5678 in der Registrierung als nicht entfernbar markiert wurde. Für diesen Devnode wird keine neue Container-ID generiert, da der PnP-Manager den Devnode so interpretiert, dass er nicht von seinem übergeordneten Knoten entfernt werden kann. Stattdessen erben USB\VID_1234&PID_5678 (und alle untergeordneten Elemente) die Container-ID (ContainerID {A}) des übergeordneten Elements.
Das Ergebnis dieser Außerkraftsetzung ist eine einzelne Gerätegruppierung, da alle Devnodes in der Struktur über die gleiche Container-ID verfügen. Das Gerät USB\VID_1234&PID_5678 wird als in den Computer integriert interpretiert.
Das folgende Diagramm zeigt die resultierende Gerätetopologie und die zugeordnete Container-ID-Zuweisung.
Das vorherige Beispiel zeigt eine häufig gefundene Devnode-Topologie: tragbare Computer mit Geräten, die mit bestimmten Busspeicherorten verkabelt sind und sich fälschlicherweise als wechselbar melden. Geräte, die physisch in einen Computer integriert sind, z. B. eine Webcam oder ein biometrischer Sensor (Fingerabdruck), sollten nicht als entfernbar gemeldet werden, da ein Benutzer sie nicht physisch vom Computer trennen kann. Die wechselbare Außerkraftsetzung ermöglicht es einem unabhängigen Hardwarehersteller (IHV) oder original equipment manufacturer (OEM) zu ändern, wie der PnP-Manager die Wechselmedienfunktion interpretiert, und wirkt sich dadurch auf die Zuweisung der Container-ID für das Gerät aus.
Beispiel 2
Im Folgenden wird die Außerkraftsetzung einer Wechselmedienfunktion für alle Devnodes gezeigt, die einem bestimmten Hardware-ID-Wert entsprechen.
In diesem Beispiel aktiviert die Außerkraftsetzung die Wechselmedienfunktion, und die Außerkraftsetzung wird auf Devnodes angewendet, die den Hardware-ID-Wert USB\VID_062A&PID_0000 haben.
Es folgt eine allgemeine Beschreibung des Registrierungstabellenformats für diese Außerkraftsetzung.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceOverrides
USB#VID_062A&PID_00001
LocationPaths
*
Removable=1
1 Der Name des HardwareID-Registrierungsunterschlüssels.
In diesem Beispiel meldet der Devnode mit der Hardware-ID USB\VID_1234&PID_5678 die Wechselfunktion des Geräts ordnungsgemäß. Der PnP-Manager generiert eine Container-ID (ContainerID {B}) für ihn und alle untergeordneten Devnodes.
Der untergeordnete Devnode mit der Hardware-ID USB\VID_062A&PID_0000 stimmt jedoch mit der Außerkraftsetzung überein. Daher generiert der PnP-Manager eine weitere enthaltene ID (ContainerID {C}) für diesen Devnode und alle untergeordneten Devnodes.
Wie zuvor ändert sich dadurch die Interpretation der Gerätetopologie durch den PnP-Manager. Dem physischen Gerät werden zwei Container-IDs zugewiesen und von Windows als zwei Geräte betrachtet. Beachten Sie, dass der Devnode mit der Hardware-ID USB\VID_062A&PID_0000 beim Gruppieren der Devnodes in Geräten als wechselbar interpretiert wird. Dadurch wird der vom Devnode für die Wechselmedienfunktion des Geräts gemeldete Wert nicht geändert.
Darüber hinaus wurde der Registrierungsunterschlüssel * angegeben, um anzugeben, dass diese Außerkraftsetzung auf alle Devnodes auf dem Computer angewendet werden soll, die über die Hardware-ID "USB\VID_062A&PID_0000" verfügen.
Das folgende Diagramm zeigt die resultierende Gerätetopologie und die zugeordnete Container-ID-Zuweisung.