função de retorno de chamada EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE (ufxclient.h)
A implementação do driver cliente para definir ou limpar o recurso de energia especificado no controlador de função.
Sintaxe
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
Parâmetros
[in] unnamedParam1
O identificador para um objeto de dispositivo USB que o driver cliente recebeu em uma chamada anterior para o UfxDeviceCreate.
[in] unnamedParam2
Seletor de recursos para o recurso de energia definido ou desmarcado, conforme definido na seção 9.4 da Especificação USB 3.0. O seletor de recursos pode ser um destes valores:
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
Se TRUE, defina o recurso.
Se FALSE, desmarque o recurso.
Retornar valor
Nenhum
Comentários
O driver do cliente para o controlador de host de função registra sua implementação EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE com a extensão de classe de função USB (UFX) chamando o método UfxDeviceCreate .
Esse retorno de chamada de evento só é necessário para controladores que dão suporte à operação SuperSpeed.
O driver do cliente indica a conclusão desse evento chamando o método UfxDeviceEventComplete .
Exemplos
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 |
---|---|
Plataforma de Destino | Windows |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |