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 |