The OS-specific port driver fills in as much PORT_CONFIGURATION_INFORMATION as it can from the miniport’s HW_INITIALIZATION_DATA specification and from the registry before calling the given HwScsiFindAdapter routine with a pointer to the configuration information buffer.
In general, a HwScsiFindAdapter routine is responsible for using the supplied configuration information and/or for calling ScsiPortXxx to collect sufficient configuration information to determine whether it supports an HBA on the I/O bus identified by the SystemIoBusNumber in the configuration information supplied by the port driver. If so, HwScsiFindAdapter is responsible for filling in any remaining configuration information for the supported HBA in the input ConfigInfo buffer, for setting up the miniport’s device extension with driver-determined state about that adapter, and for setting the Again parameter to an appropriate value before it returns control.