Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Расширение класса эмуляции USB-устройства (UdeCx) вызывает эту функцию обратного вызова при получении запроса на изменение состояния функции указанного интерфейса виртуального USB-3.0 устройства.
Синтаксис
EVT_UDECX_USB_DEVICE_SET_FUNCTION_SUSPEND_AND_WAKE EvtUdecxUsbDeviceSetFunctionSuspendAndWake;
NTSTATUS EvtUdecxUsbDeviceSetFunctionSuspendAndWake(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] ULONG Interface,
[in] UDECX_USB_DEVICE_FUNCTION_POWER FunctionPower
)
{...}
Параметры
[in] UdecxWdfDevice
Дескриптор объекта устройства платформы, представляющий контроллер, к которому подключено USB-устройство. Драйвер клиента инициализировал этот объект в предыдущем вызове UdecxWdfDeviceAddUsbDeviceEmulation.
[in] UdecxUsbDevice
Дескриптор объекта устройства UDE. Драйвер клиента создал этот объект в предыдущем вызове UdecxUsbDeviceCreate.
[in] Interface
Это значение является bInterfaceNumber интерфейса, который просыпается.
[in] FunctionPower
Значение типа UDECX_USB_DEVICE_FUNCTION_POWER, указывающее, может ли интерфейс приостановить и отправить сигнал пробуждения контроллеру узла.
Возвращаемое значение
Если операция выполнена успешно, функция обратного вызова должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(состояние) равно TRUE.
Замечания
Драйвер клиента зарегистрировал функцию в предыдущем вызове UdecxUsbDeviceInitSetStateChangeCallbacks путем указания указателя функции на его реализацию.
В реализации обратного вызова драйвер клиента для USB-устройства, как ожидается, выполнит действия, чтобы ввести рабочее состояние.
Эта функция обратного вызова события применяется к устройствам USB 3.0+. UdeCx вызывает эту функцию, чтобы уведомить драйвер клиента о запросе, чтобы изменить состояние питания определенной функции. Он также сообщает драйверу о том, может ли функция проснуться от нового состояния.
Запрос питания можно выполнить асинхронно, возвращая STATUS_PENDING, а затем завершив его, вызвав UdecxUsbDeviceSetFunctionSuspendAndWakeComplete с фактическим кодом завершения.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| минимальный поддерживаемый сервер | Windows Server 2016 |
| целевая платформа | Виндоус |
| минимальная версия KMDF | 1.15 |
| заголовка | udecxusbdevice.h (include Udecx.h) |
| IRQL | <=DISPATCH_LEVEL |
См. также
архитектура : эмуляция USB-устройств (UDE)