EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE función de devolución de llamada (ufxclient.h)
La implementación del controlador cliente para establecer o borrar la característica de alimentación especificada en el controlador de función.
Sintaxis
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
Parámetros
[in] unnamedParam1
Identificador de un objeto de dispositivo USB que el controlador cliente recibió en una llamada anterior a UfxDeviceCreate.
[in] unnamedParam2
Selector de características para la característica de alimentación que se establece o borra, tal y como se define en la sección 9.4 de la especificación USB 3.0. El selector de características puede ser uno de estos valores:
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
Si es TRUE, establezca la característica.
Si es FALSE, desactive la característica.
Valor devuelto
None
Observaciones
El controlador de cliente para el controlador host de función registra su implementación de EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE con la extensión de clase de función USB (UFX) llamando al método UfxDeviceCreate .
Esta devolución de llamada de evento solo es necesaria para los controladores que admiten la operación SuperSpeed.
El controlador cliente indica la finalización de este evento llamando al método UfxDeviceEventComplete .
Ejemplos
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE UfxDevice_EvtDeviceSuperSpeedPowerFeature;
VOID
UfxDevice_EvtDeviceSuperSpeedPowerFeature (
_In_ UFXDEVICE Device,
_In_ USHORT Feature,
_In_ BOOLEAN Set
)
/*++
Routine Description:
EvtDeviceSuperSpeedPowerFeature handler for the UFXDEVICE object.
Handles a set or clear U1/U2 request from the host.
Arguments:
UfxDevice - UFXDEVICE object representing the device.
Feature - Indicates the feature being set or cleared. Either U1 or U2 enable.
Set - Indicates if the feature should be set or cleared
--*/
{
TraceEntry();
if (Feature == USB_FEATURE_U1_ENABLE) {
if (Set == TRUE) {
//
// #### TODO: Insert code to initiate U1 ####
//
} else {
//
// #### TODO: Insert code to exit U1 ####
//
}
} else if (Feature == USB_FEATURE_U2_ENABLE) {
if (Set == TRUE) {
//
// #### TODO: Insert code to initiate U2 ####
//
} else {
//
// #### TODO: Insert code to exit U2 ####
//
}
} else {
NT_ASSERT(FALSE);
}
UfxDeviceEventComplete(Device, STATUS_SUCCESS);
TraceExit();
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |