This section contains the following information:
Supporting Plug and Play in a SCSI Miniport Driver
Registry Entries for Plug and Play SCSI Miniport Drivers
SCSI Miniport Initialization Under Plug and Play
Converting a Windows NT 4.0 SCSI Miniport for Plug and Play
Required and Optional SCSI Miniport Routines
SCSI Miniport Driver’s DriverEntry Routine
Storage Driver's Return from DriverEntry
SCSI Miniport Driver’s HwScsiFindAdapter Routine
Calling ScsiPortXxx from HwScsiFindAdapter
Port-Driver-Supplied ConfigInfo for HwScsiFindAdapter
Setting up ConfigInfo in HwScsiFindAdapter
Setting Again and Returning from HwScsiFindAdapter
Returning Control from HwScsiFindAdapter
SCSI Miniport Driver’s HwScsiInitialize Routine
SCSI Miniport Driver’s HwScsiStartIo Routine
Handling SRB_FUNCTION_EXECUTE_SCSI
Handling SRB_FUNCTION_ABORT_COMMAND
Handling SRB_FUNCTION_RESET_BUS
Handling SRB_FUNCTION_RESET_DEVICE
Handling SRB_FUNCTION_FLUSH and SRB_FUNCTION_SHUTDOWN
Handling SRB_FUNCTION_IO_CONTROL
Handling Unsupported SRB_FUNCTION_XXX
Other SRB_FUNCTION_XXX Requests
SCSI Miniport Driver’s HwScsiDmaStarted Routine
SCSI Miniport Driver’s HwScsiResetBus Routine
SCSI Miniport Driver’s HwScsiInterrupt Routine
Deferring Interrupt-Driven I/O from HwScsiInterrupt
SCSI Miniport Driver’s HwScsiEnableInterruptsCallback Routine
SCSI Miniport Driver’s HwScsiDisableInterruptsCallback Routine
SCSI Miniport Driver’s HwScsiTimer Routine
SCSI Miniport Driver’s HwScsiAdapterState Routine
SCSI Miniport Driver’s HwScsiAdapterControl Routine
Restrictions on SCSI Miniport Drivers that Manage the Boot Drive
Error Handling in SCSI Miniport Drivers
SCSI miniport drivers for NT-based operating systems are HBA-specific but operating system-independent. That is, each miniport driver links itself with the system-supplied SCSI port driver, which is a dynamic-link library (DLL), and calls only the port driver’s ScsiPortXxx routines to communicate with the system and its HBA. Such SCSI miniport drivers run on other Microsoft operating systems that support Win32® applications and also export the ScsiPortXxx routines.
Note that any SCSI miniport driver that calls routines other than the ScsiPortXxx cannot run in both Microsoft® operating system environments. To remain portable across Microsoft Windows systems, including NT-based operating systems, SCSI miniport drivers must call only the system-supplied ScsiPortXxx.
A SCSI miniport can be a Plug and Play driver, or it can run as a legacy driver that does not participate in Plug and Play operations such as resource redistribution or power management. The primary differences between a Plug and Play and a legacy miniport driver are the order in which initialization routines are called and enforcement of certain restrictions that were applied to miniports in Windows NT 4.0 but not enforced.