EVT_UDECX_USB_DEVICE_D0_EXIT - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// udecxusbdevice.h

EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;

NTSTATUS EvtUdecxUsbDeviceD0Exit(
  [in] WDFDEVICE UdecxWdfDevice,
  [in] UDECXUSBDEVICE UdecxUsbDevice,
  [in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-udecxusbdevice-evt_udecx_usb_device_d0_exit)

EVT_UDECX_USB_DEVICE_D0_EXIT callback function

Description

The USB device emulation class extension (UdeCx) invokes this callback function when it gets a request to send the virtual USB device to a low power state.

Parameters

UdecxWdfDevice [in]

A handle to a framework device object that represents the controller to which the USB device is attached. The client driver initialized this object in a previous call to UdecxWdfDeviceAddUsbDeviceEmulation.

UdecxUsbDevice [in]

A handle to UDE device object. The client driver created this object in a previous call to UdecxUsbDeviceCreate.

WakeSetting [in]

A UDECX_USB_DEVICE_WAKE_SETTING-type value that indicates remote wake capability of the USB device.

Return value

If the operation is successful, the callback function must return STATUS_SUCCESS, or another status value for which NT_SUCCESS(status) equals TRUE.

Remarks

The client driver registered the function in a previous call to UdecxUsbDeviceInitSetStateChangeCallbacks by supplying a function pointer to its implementation.

In the callback implementation, the client driver for the USB device is expected to perform steps to send the device to a low power state. In this function, the driver can initiate its wake-up from a low link power state, function suspend, or both. To do so, the driver for a USB 2.0 device must call the UdecxUsbDeviceSignalWake method. USB 3.0 devices must use UdecxUsbDeviceSignalFunctionWake.

The power request may be completed asynchronously by returning STATUS_PENDING, and then later calling UdecxUsbDeviceLinkPowerExitComplete with the actual completion code.

See also

Architecture: USB Device Emulation (UDE)

EVT_UDECX_USB_DEVICE_D0_ENTRY

UdecxUsbDeviceLinkPowerExitComplete

UdecxUsbDeviceSignalWake

Write a UDE client driver