Übersicht über wechselbare Gerätefunktionen
Die Wechselmedienfunktion ist ein Bit (Entfernbar), das Bustreiber in der DEVICE_CAPABILITIES-Struktur als Reaktion auf den IRP_MN_QUERY_CAPABILITIES Funktionscode für einen angegebenen Geräteknoten (devnode) festlegen.
Bustreiber legen die Wechselmedienfunktion für einen Devnode fest, wenn der devnode und alle zugehörigen untergeordneten Devnodes ein Gerät bilden, das physisch entfernt, getrennt oder von seinem übergeordneten Devnode getrennt werden kann, während der Computer ausgeführt wird. In der Regel sollte ein Devnode als entfernbar markiert werden, wenn es sich um den obersten Devnode-Knoten in einer devnode-Topologie handelt.
Das richtige Festlegen der Wechselmedienfunktion auf einem Devnode ist wichtig. Wenn ein Bustreiber keine Container-ID für einen Devnode bereitstellen kann, den er aufzählt, verwendet der Plug & Play-Manager (PnP) die Wechselmedienfunktion, um eine Container-ID für alle devnodes zu generieren, die für das Gerät aufgelistet sind.
Angenommen, ein Gerät mit nur einer Funktion, z. B. eine Maus, ist über USB mit dem Computer verbunden. In diesem Fall erkennt der USB-Bustreiber das neue Gerät, erkennt, dass es sich um ein USB Human Interface Device (HID) handelt, und erstellt einen USB HID-Entwicklungsknoten für das Gerät. Der HID-Devnode erkennt auch, dass es sich bei dem HID-Gerät um eine Maus handelt, und erstellt einen untergeordneten Entwicklungsknoten für eine HID-kompatible Maus. An diesem Punkt ist die Maus installiert und funktioniert auf dem Computer. Beide neuen Devnodes verwenden unabhängige Treiberstapel.
In der Regel sollte der oberste (übergeordnete) Devnode des Geräts als entfernbar festgelegt werden, während jeder seiner untergeordneten Devnodes nicht als entfernbar festgelegt werden sollte. Im vorherigen Beispiel legt der USB-Bustreiber das Wechselbare Bit für den USB HID-Devnode auf TRUE fest und legt das Wechselbare Bit für den untergeordneten HID-kompatiblen Mausentwicklungsknoten auf FALSE fest.
Der folgende Geräte-Manager Screenshot zeigt die Devnode-Topologie für eine generische USB-Maus und zeigt an, welche Devnodes der Maus als herausnehmbar markiert sind.