Freigeben über


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-typed-Flag, das den Zustand des Geräts angibt.

[in] BusSpeed

Ein USBFN_BUS_SPEED-typiertes Flag, das die Busgeschwindigkeit angibt.

Rückgabewert

Wenn der Vorgang erfolgreich ist, muss die Rückruffunktion STATUS_SUCCESS oder einen anderen Statuswert zurückgeben, für den NT_SUCCESS(Status) WAHR ist. Andernfalls muss ein Statuswert zurückgegeben werden, für den NT_SUCCESS(Status) FALSE entspricht.

Bemerkungen

Zur Unterstützung der An- und Abtrennerkennung muss der usb-niedrigere Filtertreiber 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 implementiert möglicherweise eine USBFN_SET_DEVICE_STATE sogar Rückruffunktion, wenn eine Benachrichtigung über Gerätezustandsänderungen erforderlich ist, um das Laden ordnungsgemäß zu konfigurieren, wenn sie 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- Fenster
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Header- usbfnattach.h
IRQL- PASSIVE_LEVEL

Siehe auch

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