Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.
Syntax
EVT_UDECX_USB_DEVICE_D0_EXIT EvtUdecxUsbDeviceD0Exit;
NTSTATUS EvtUdecxUsbDeviceD0Exit(
[in] WDFDEVICE UdecxWdfDevice,
[in] UDECXUSBDEVICE UdecxUsbDevice,
[in] UDECX_USB_DEVICE_WAKE_SETTING WakeSetting
)
{...}
Parameters
[in] UdecxWdfDevice
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.
[in] UdecxUsbDevice
A handle to UDE device object. The client driver created this object in a previous call to UdecxUsbDeviceCreate.
[in] WakeSetting
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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Windows |
Minimum KMDF version | 1.15 |
Header | udecxusbdevice.h (include Udecx.h) |
IRQL | <=DISPATCH_LEVEL |
See also
Architecture: USB Device Emulation (UDE)