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

Weitere Informationen

USB-Filtertreiber zur Unterstützung proprietärer Ladegeräte