HwInitialize Routine

For each HBA found by the miniport driver, its HwInitialize routine is called to set up the HBA's registers and initial protocol state, if any.

If the HwInitialize routine enables interrupts on the HBA, the miniport's HwInterrupt routine will be called to handle any interrupts the device generates during the initialization.

If initializing the HBA causes a bus reset, the HwInitialize routine must call ScsiPortNotification with the NotificationType value ResetDetected.

When the HwInitialize routine returns control, ScsiPortInitialize sends SCSIOP_INQUIRY requests to the miniport driver, collecting the SCSI-II INQUIRYDATA about the devices on each bus and storing it for subsequent examination by SCSI class drivers. Each request to scan a SCSI bus for the INQUIRY data is sent to the miniport's HwStartIo routine, described in HwStartIo Routine.