Unterstützung auswerfbarer Geräte

Auswerfbare Geräte sind Geräte, die in eine Dockingstation gesteckt und von der Dockingstation ausgeworfen werden können. In der Regel muss die Busleistung eines auswerfbaren Geräts deaktiviert werden, bevor das Gerät entfernt werden kann.

Wenn ein Gerät ausgeworfen werden kann, muss der Bustreiber für den Bus des Geräts den EjectSupported-Member in der WDF_DEVICE_PNP_CAPABILITIES Struktur des Geräts festlegen.

Wenn ein Bustreiber feststellt, dass eines seiner enumerierten untergeordneten Geräte ausgeworfen werden soll, ruft er entweder WdfPdoRequestEject oder WdfChildListRequestChildEject auf. Beispielsweise kann der Bustreiber erkennen, dass ein Benutzer eine Auswurftaste gedrückt hat.

Wenn ein Treiber WdfChildListRequestChildEject oder WdfPdoRequestEject aufruft, verwendet der PnP-Manager das geordnete Entfernungsszenario , um die Gerätetreiber darüber zu informieren, dass das Gerät entfernt wird. Nachdem das Framework die Rückruffunktion EvtDeviceReleaseHardware im Bustreiber für den Bus des Geräts aufgerufen hat, ruft das Framework die Rückruffunktion EvtDeviceEject des Bustreibers auf, die alle Vorgänge ausführt, die zum physischen Auswerfen des Geräts erforderlich sind.

Wenn das Auswerfen Ihres Geräts dazu führt, dass auch weitere Geräte ausgeworfen werden, kann Ihr Bustreiber eine Liste mit Auswurfbeziehungen verwalten. Wenn ein Benutzer Ihr Gerät entfernt, informiert der PnP-Manager die Treiber der Geräte in der Liste darüber, dass ihre Geräte ebenfalls entfernt werden. Zum Verwalten einer Liste von Auswurfbeziehungen kann ein Bustreiber die Methoden WdfPdoAddEjectionRelationsPhysicalDevice, WdfPdoRemoveEjectionRelationsPhysicalDevice und WdfPdoClearEjectionRelationsDevices verwenden.

Wenn ein Gerät in seiner Dockingstation gesperrt werden kann, muss der Bustreiber das LockSupported-Element in der WDF_DEVICE_PNP_CAPABILITIES Struktur des Geräts festlegen. Der Bustreiber muss auch eine EvtDeviceSetLock-Rückruffunktion bereitstellen, die das Gerät zum Deaktivieren des Auswurfs sperrt oder das Gerät entsperrt, um den Auswurf zu aktivieren.