Condividi tramite


USBFN_SET_DEVICE_STATE funzione di callback (usbfnattach.h)

Implementazione del driver di filtro per impostare lo stato del dispositivo e la velocità del bus operativo.

Sintassi

USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;

NTSTATUS UsbfnSetDeviceState(
  [in] PVOID Context,
  [in] USBFN_DEVICE_STATE DeviceState,
  [in] USBFN_BUS_SPEED BusSpeed
)
{...}

Parametri

[in] Context

Puntatore a un contesto definito dal driver.

[in] DeviceState

Flag USBFN_DEVICE_STATE tipizzato che indica lo stato del dispositivo.

[in] BusSpeed

Flag USBFN_BUS_SPEED tipizzato che indica la velocità del bus.

Valore restituito

Se l'operazione ha esito positivo, la funzione di callback deve restituire STATUS_SUCCESS o un altro valore di stato per cui NT_SUCCESS(status) è TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE.

Commenti

Per supportare il rilevamento di collegamento e scollegamento, il driver di filtro inferiore USB deve pubblicarne il supporto. Durante il processo di pubblicazione, il driver registra anche l'implementazione di questa funzione di callback. Per altre informazioni, vedere Driver di filtro USB per il supporto di caricatori proprietari.

Il driver di filtro inferiore potrebbe implementare un USBFN_SET_DEVICE_STATE anche una funzione di callback se richiede la notifica delle modifiche dello stato del dispositivo per configurare correttamente la ricarica quando è collegata a un host o in scenari di laboratorio in cui la ricarica tramite USB deve essere disabilitata.

Esempio

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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione usbfnattach.h
IRQL PASSIVE_LEVEL

Vedi anche

Driver filtro USB per il supporto di caricatori proprietari