ScsiPortStallExecution 函数 (srb.h)
ScsiPortStallExecution 微型端口驱动程序中的例程停止。
语法
SCSIPORT_API VOID ScsiPortStallExecution(
[in] ULONG Delay
);
参数
[in] Delay
指定以微秒为单位的延迟间隔。 给定的值必须小于完整毫秒。
返回值
没有
言论
应尽可能少地调用 ScsiPortStallExecution,微型端口驱动程序例程中的总停止时间必须小于 1 毫秒。 此调用将处理器关联起来,在驱动程序中停止时不执行任何有用的工作。
通常,微型端口驱动程序应调用 ScsiPortStallExecution 前提是驱动程序必须等待 HBA 上无法造成中断的状态更改,或者驱动程序必须在访问 HBA 之间延迟非常短的间隔。
如果微型端口驱动程序的 HwScsiInterrupt 例程必须在访问 HBA 和 ISR 中的总延迟时间可能超过 1 毫秒之间停止, HwScsiInterrupt 应使用 NotificationTypeCallEnableInterrupts 调用 ScsiPortNotification,而不是调用 ScsiPortStallExecution。 此类微型端口驱动程序有一对 HwScsi。InterruptsCallback 例程来管理其中断驱动的 I/O 处理,而无需将处理器绑起来,降低微型端口驱动程序在同一台计算机中可能支持的其他 HBA 的 I/O 性能。
微型端口驱动程序提供的 HwScsiTimer 例程也可以通过指定时间间隔(不限于 1 毫秒)传入对 ScsiPortNotification 的调用。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | srb.h (包括 Miniport.h、Scsi.h) |
库 | Scsiport.lib |
另请参阅
HwScsiDisableInterruptsCallback