ScsiPortStallExecution routine

The ScsiPortStallExecution routine stalls in the miniport driver.

Note  The SCSI port driver and SCSI miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.
 

Syntax


VOID ScsiPortStallExecution(
  _In_ ULONG Delay
);

Parameters

Delay [in]

Specifies the delay interval in microseconds. The given value must be less than a full millisecond.

Return value

None

Remarks

ScsiPortStallExecution should be called as seldom as possible and the total stall time in a miniport driver routine must be less than one millisecond. This call ties up a processor, doing no useful work while stalling in the driver.

In general, a miniport driver should call ScsiPortStallExecution only if the driver must wait for a state change on the HBA that cannot cause an interrupt, or if the driver must delay for a very short interval between accesses to the HBA.

If a miniport driver's HwScsiInterrupt routine must stall between accesses to the HBA and the total delay time in the ISR might be more than one millisecond, HwScsiInterrupt should call ScsiPortNotification with the NotificationTypeCallEnableInterrupts instead of calling ScsiPortStallExecution. Such a miniport driver has a pair of HwScsi..InterruptsCallback routines to manage its interrupt-driven I/O processing without tying up a processor and degrading the I/O performance of other HBAs that miniport driver might support in the same machine.

A miniport driver-supplied HwScsiTimer routine also can be passed in calls to ScsiPortNotification with a specified interval that is not limited to one millisecond.

Requirements

Target platform

Desktop

Header

Srb.h (include Miniport.h or Scsi.h)

Library

Scsiport.lib

See also

HwScsiTimer
HwScsiDisableInterruptsCallback
HwScsiEnableInterruptsCallback
HwScsiInterrupt
ScsiPortNotification

 

 

Send comments about this topic to Microsoft

Show: