IOCTL_STORAGE_RESET_BUS IOCTL (ntddstor.h)

Resets an I/O bus and, indirectly, each device on the bus. Resetting the bus clears all device reservations and transfer speed settings, which must then be renegotiated, making it a time-consuming operation that should be used very rarely. The caller requires only read access to issue a bus reset.

The SrbStatus flag of pending SRBs is set to SRB_STATUS_BUS_RESET.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

The buffer at Irp->AssociatedIrp.SystemBuffer contains a STORAGE_BUS_RESET_REQUEST structure that specifies the path ID of the bus to reset.

Input buffer length

The length of a STORAGE_BUS_RESET_REQUEST structure.

Output buffer

None.

Output buffer length

None.

Status block

The Information field is set to zero. The Status field is set to STATUS_SUCCESS, or possibly to STATUS_INSUFFICIENT_RESOURCES, STATUS_NOT_IMPLEMENTED, or STATUS_INVALID_DEVICE_REQUEST.

Requirements

Requirement Value
Header ntddstor.h (include Ntddstor.h)

See also

STORAGE_BUS_RESET_REQUEST