Compartir a través de


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 funciones.

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 al UfxDeviceCreate.

[in] unnamedParam2

Selector de características para la característica de alimentación establecida o desactivada, tal 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, borre la característica.

Valor devuelto

Ninguno

Observaciones

El controlador cliente del 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 Valor
de la plataforma de destino de Windows
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de ufxclient.h
irQL <=DISPATCH_LEVEL

Consulte también

UfxDeviceCrear

UfxDeviceEventComplete