IOCTL_STORAGE_RESET_BUS IOCTL

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.

Input / Output Buffer

Input / Output Buffer Length

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

   
Header ntddstor.h (include Ntddstor.h)

See Also

STORAGE_BUS_RESET_REQUEST