USBFN_SET_DEVICE_STATE Rückruffunktion (usbfnattach.h)
Die Implementierung des Filtertreibers zum Festlegen des Gerätezustands und der Betriebsbusgeschwindigkeit.
Syntax
USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;
NTSTATUS UsbfnSetDeviceState(
[in] PVOID Context,
[in] USBFN_DEVICE_STATE DeviceState,
[in] USBFN_BUS_SPEED BusSpeed
)
{...}
Parameter
[in] Context
Ein Zeiger auf einen vom Treiber definierten Kontext.
[in] DeviceState
Ein USBFN_DEVICE_STATE typisiertes Flag, das den Zustand des Geräts angibt.
[in] BusSpeed
Ein USBFN_BUS_SPEED typisiertes Flag, das die Busgeschwindigkeit angibt.
Rückgabewert
Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion STATUS_SUCCESS oder einen anderen status Wert zurückgeben, für den NT_SUCCESS(status) true entspricht. Andernfalls muss ein status Wert zurückgegeben werden, für den NT_SUCCESS(status) false entspricht.
Hinweise
Um die Erkennung von An- und Abkoppeln zu unterstützen, muss der USB-Unterfiltertreiber seine Unterstützung veröffentlichen. Während des Veröffentlichungsprozesses registriert der Treiber auch die Implementierung dieser Rückruffunktion. Weitere Informationen finden Sie unter USB-Filtertreiber zur Unterstützung proprietärer Ladegeräte.
Der niedrigere Filtertreiber kann eine USBFN_SET_DEVICE_STATE sogar Rückruffunktion implementieren, wenn sie eine Benachrichtigung über Änderungen des Gerätezustands erfordert, um das Laden ordnungsgemäß zu konfigurieren, wenn er an einen Host angeschlossen ist, oder in Laborszenarien, in denen das Laden über USB deaktiviert werden muss.
Beispiele
NTSTATUS
UsbLowerFilter_SetDeviceState(
_In_ PVOID Context,
_In_ USBFN_DEVICE_STATE DeviceState,
_In_ USBFN_BUS_SPEED BusSpeed
)
{
PPDCP_CONTEXT PdcpContext = NULL;
PAGED_CODE();
// Get our context
PdcpContext = DeviceGetUsbLowerFilterContext((WDFDEVICE)Context);
PdcpContext->CurrentDeviceState = DeviceState;
PdcpContext->BusSpeed = BusSpeed;
return STATUS_SUCCESS;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | usbfnattach.h |
IRQL | PASSIVE_LEVEL |