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_STATEtipizzato che indica lo stato del dispositivo.

[in] BusSpeed

Flag USBFN_BUS_SPEEDtipizzato 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.

Osservazioni

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 supportare i caricabatterie proprietari.

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

Esempi

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione usbfnattach.h
IRQL PASSIVE_LEVEL

Vedere anche

driver di filtro USB per supportare i caricabatterie proprietari