IOCTL_USB_HUB_CYCLE_PORT IOCTL (usbioctl.h)
The IOCTL_USB_HUB_CYCLE_PORT I/O control request power-cycles the port that is associated with the PDO that receives the request.
IOCTL_USB_HUB_CYCLE_PORT is a user-mode I/O control request. This request targets the USB hub device (GUID_DEVINTERFACE_USB_HUB).
Major code
Input buffer
The AssociatedIrp.SystemBuffer member points to a caller-allocated USB_CYCLE_PORT_PARAMS structure that specifies the port number.
Input buffer length
The size of a USB_CYCLE_PORT_PARAMS structure.
Output buffer
None.
Output buffer length
None.
Status block
The USB stack sets Irp->IoStatus.Status to STATUS_SUCCESS if the request is successful. Otherwise, the USB stack sets Status to the appropriate error condition, such as STATUS_INVALID_PARAMETER or STATUS_INSUFFICIENT_RESOURCES.
Remarks
You can also power cycle the port by using the Device Manager's Enable/Disable feature. This feature causes the bus driver to reset the device. Alternatively, you can use DevCon to enable or disable the device.
The executable for DevCon can be found in the <install_path>\WinDDK\build_number\tools\devcon\<arch>\devcon.exe
folder.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported on Windows 8 and later versions of Windows, if the caller is running as Administrator. Supported on Microsoft Windows Server 2003, Windows XP-based versions of Windows. Not supported on Windows 7, Windows Vista, and Windows Server 2008. |
Header | usbioctl.h (include Usbioctl.h) |