Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Реализация драйвера клиента для установки или очистки указанной функции питания на контроллере функции.
Синтаксис
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, снимите эту функцию.
Возвращаемое значение
Никакой
Замечания
Драйвер клиента для контроллера узла функции регистрирует свою реализацию 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();
}
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Виндоус |
| минимальная версия KMDF | 1.0 |
| минимальная версия UMDF | 2.0 |
| заголовка | ufxclient.h |
| IRQL | <=DISPATCH_LEVEL |