Compartir a través de


EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE función de devolución de llamada (udecxusbdevice.h)

La extensión de clase de emulación de dispositivo USB (UdeCx) invoca esta función de devolución de llamada cuando obtiene una solicitud para cambiar el estado de función de la interfaz especificada del dispositivo USB 3.0 virtual.

Sintaxis

EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;

NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] ULONG Interface,
  [in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}

Parámetros

[in] UdecxWdfDevice

Identificador de un objeto de dispositivo de marco que representa el controlador al que está conectado el dispositivo USB. El controlador cliente inicializó este objeto en una llamada anterior a UdecxWdfDeviceAddUsbDeviceEmulation.

[in] UdecxUsbDevice

Identificador del objeto de dispositivo UDE. El controlador cliente creó este objeto en una llamada anterior a UdecxUsbDeviceCreate.

[in] Interface

Este valor es el bInterfaceNumber de la interfaz que se está despertando.

[in] FunctionPower

Valor de tipo UDECX_USB_DEVICE_FUNCTION_POWER que indica si la interfaz puede suspender y enviar la señal de reactivación al controlador host.

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.

Comentarios

El controlador cliente registró la función en una llamada anterior a UdecxUsbDeviceInitSetStateChangeCallbacks proporcionando un puntero de función a su implementación.

En la implementación de devolución de llamada, se espera que el controlador cliente del dispositivo USB realice los pasos para entrar en estado de trabajo.

Esta función de devolución de llamada de eventos se aplica a dispositivos USB 3.0+. UdeCx invoca esta función para notificar al controlador cliente una solicitud para cambiar el estado de energía de una función determinada. También informa al controlador de si la función puede reactivar o no desde el nuevo estado.

La solicitud de energía se puede completar de forma asincrónica devolviendo STATUS_PENDING y, después, completándola llamando a UdecxUsbDeviceSetFunctionSuspendAndWakeComplete con el código de finalización real.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Windows
Versión mínima de KMDF 1.15
Encabezado udecxusbdevice.h (incluya Udecx.h)
IRQL <=DISPATCH_LEVEL

Consulte también

Arquitectura: emulación de dispositivos USB (UDE)

Escritura de un controlador de cliente UDE