// 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 referenceNo description available.
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.
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.
If the operation is successful, the callback function must return STATUS_SUCCESS, or another status value for which NT_SUCCESS(status) equals TRUE.
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.
Architecture: USB Device Emulation (UDE)
UdecxUsbDeviceLinkPowerExitComplete