Share via


USBFN_SET_DEVICE_STATE función de devolución de llamada (usbfnattach.h)

Implementación del controlador de filtro para establecer el estado del dispositivo y la velocidad del bus operativo.

Sintaxis

USBFN_SET_DEVICE_STATE UsbfnSetDeviceState;

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

Parámetros

[in] Context

Puntero a un contexto definido por el controlador.

[in] DeviceState

Marca de tipo USBFN_DEVICE_STATE que indica el estado del dispositivo.

[in] BusSpeed

Marca de tipo USBFN_BUS_SPEED que indica la velocidad del bus.

Valor devuelto

Si la operación se realiza correctamente, la función de devolución de llamada debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(status) es igual a TRUE. De lo contrario, debe devolver un valor de estado para el que NT_SUCCESS(status) es igual a FALSE.

Comentarios

Para admitir la detección de conexión y desasociación, el controlador de filtro inferior USB debe publicar su compatibilidad. Durante el proceso de publicación, el controlador también registra su implementación de esta función de devolución de llamada. Para obtener más información, consulte Controlador de filtro USB para admitir cargadores propietarios.

El controlador de filtro inferior puede implementar una función de devolución de llamada USBFN_SET_DEVICE_STATE incluso si requiere la notificación de cambios de estado del dispositivo para configurar correctamente la carga cuando se conecta a un host o en escenarios de laboratorio en los que se debe deshabilitar la carga a través de USB.

Ejemplos

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

Requisitos

Requisito Value
Plataforma de destino Windows
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado usbfnattach.h
IRQL PASSIVE_LEVEL

Consulte también

Controlador de filtro USB para admitir cargadores propietarios