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