функция обратного вызова EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE (ufxclient.h)
Реализация драйвера клиента для установки или очистки указанной функции питания на контроллере функции.
Синтаксис
EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE EvtUfxDeviceSuperSpeedPowerFeature;
void EvtUfxDeviceSuperSpeedPowerFeature(
[in] UFXDEVICE unnamedParam1,
[in] USHORT unnamedParam2,
[in] BOOLEAN unnamedParam3
)
{...}
Параметры
[in] unnamedParam1
Дескриптор объекта USB-устройства, который драйвер клиента получил при предыдущем вызове UfxDeviceCreate.
[in] unnamedParam2
Селектор компонентов для установленного или отключаемого компонента питания, как описано в разделе 9.4 спецификации USB 3.0. Селектор функций может иметь одно из следующих значений:
- U1_ENABLE
- U2_ENABLE
[in] unnamedParam3
Если задано значение TRUE, задайте функцию .
Если значение FALSE, очистите функцию.
Возвращаемое значение
None
Remarks
Драйвер клиента для контроллера узла функции регистрирует свою реализацию EVT_UFX_DEVICE_SUPER_SPEED_POWER_FEATURE с расширением класса функций USB (UFX), вызывая метод UfxDeviceCreate .
Этот обратный вызов события требуется только для контроллеров, поддерживающих операцию SuperSpeed.
Драйвер клиента указывает на завершение этого события путем вызова метода UfxDeviceEventComplete .
Примеры
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();
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | ufxclient.h |
IRQL | <=DISPATCH_LEVEL |