WdfUsbTargetDeviceResetPortSynchronously function (wdfusb.h)
[Applies to KMDF and UMDF]
The WdfUsbTargetDeviceResetPortSynchronously method resets the USB port that is associated with the specified USB device.
Syntax
NTSTATUS WdfUsbTargetDeviceResetPortSynchronously(
[in] WDFUSBDEVICE UsbDevice
);
Parameters
[in] UsbDevice
A handle to a USB device object that was obtained from a previous call to WdfUsbTargetDeviceCreateWithParameters.
Return value
WdfUsbTargetDeviceResetPortSynchronously returns the USB I/O target's completion status value if the operation succeeds. Otherwise, this method can return one of the following values:
Return code | Description |
---|---|
|
The caller's IRQL was invalid. |
This method also might return other NTSTATUS values.
A bug check occurs if the driver supplies an invalid object handle.
Remarks
The WdfUsbTargetDeviceResetPortSynchronously method resets the USB port by sending an IOCTL_INTERNAL_USB_RESET_PORT request.
Before the framework resets the I/O target's USB port, it cancels all I/O requests that remain in the I/O target's queue. The driver must not send additional I/O requests to the I/O target until WdfUsbTargetDeviceResetPortSynchronously returns.
The driver must call WdfIoTargetStop before it calls WdfUsbTargetDeviceResetPortSynchronously. After WdfUsbTargetDeviceResetPortSynchronously returns, the driver can call WdfIoTargetStart.
After a successful reset operation, the bus driver reselects the configuration and any alternate interface settings that the device had before the reset operation occurred.
For more information about the WdfUsbTargetDeviceResetPortSynchronously method and USB I/O targets, see USB I/O Targets.
Examples
The following code example resets a specified device's USB port.
NTSTATUS status;
status = WdfUsbTargetDeviceResetPortSynchronously(UsbDevice);
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.0 |
Minimum UMDF version | 2.0 |
Header | wdfusb.h (include Wdfusb.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
DDI compliance rules | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |