Condividi tramite


EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE funzione di callback (ufxclient.h)

Implementazione del driver client per impostare o cancellare la funzionalità di alimentazione specificata nel controller di funzione.

Sintassi

EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;

void EvtUfxDeviceSuperSpeedPowerFeature(
  [in] UFXDEVICE unnamedParam1,
  [in] USHORT unnamedParam2,
  [in] BOOLEAN unnamedParam3
)
{...}

Parametri

[in] unnamedParam1

Handle a un oggetto dispositivo USB ricevuto dal driver client in una chiamata precedente a UfxDeviceCreate.

[in] unnamedParam2

Selettore di funzionalità per la funzionalità di alimentazione impostata o deselezionata, come definito nella sezione 9.4 della specifica USB 3.0. Il selettore di funzionalità può essere uno dei valori seguenti:

  • U1_ENABLE
  • U2_ENABLE

[in] unnamedParam3

Se TRUE, impostare la funzionalità.

Se FALSE, deselezionare la funzionalità.

Valore restituito

nessuno

Osservazioni

Il driver client per il controller host della funzione registra l'implementazione EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE con l'estensione della classe di funzione USB (UFX) chiamando il metodo UfxDeviceCreate .

Questo callback di eventi è necessario solo per i controller che supportano l'operazione SuperSpeed.

Il driver client indica il completamento di questo evento chiamando il metodo UfxDeviceEventComplete .

Esempio


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


Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Versione KMDF minima 1,0
Versione UMDF minima 2,0
Intestazione ufxclient.h
IRQL <=DISPATCH_LEVEL

Vedi anche

UfxDeviceCreate

UfxDeviceEventComplete