функция обратного вызова 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)

EVT_UDECX_USB_DEVICE_D0_EXIT

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

Написание драйвера клиента UDE