ScsiPortStallExecution 関数 (srb.h)
ミニポート ドライバーで ScsiPortStallExecution ルーチンが停止します。
構文
SCSIPORT_API VOID ScsiPortStallExecution(
[in] ULONG Delay
);
パラメーター
[in] Delay
遅延間隔をマイクロ秒単位で指定します。 指定された値は、完全なミリ秒未満である必要があります。
戻り値
なし
解説
ScsiPortStallExecution は、可能な限りまれに呼び出す必要があり、ミニポート ドライバー ルーチンの合計停止時間は 1 ミリ秒未満である必要があります。 この呼び出しはプロセッサを結び付け、ドライバーで停止している間は役に立たない作業を行います。
一般に、ミニポート ドライバーは、ドライバーが割り込みを引き起こすことができない HBA の状態変更を待機する必要がある場合、またはドライバーが HBA へのアクセスの間に非常に短い間隔で遅延する必要がある場合にのみ ScsiPortStallExecution を呼び出す必要があります。
ミニポート ドライバーの HwScsiInterrupt ルーチンが HBA へのアクセスの間で停止する必要があり、ISR の合計遅延時間が 1 ミリ秒を超える可能性がある場合、HwScsiInterrupt は ScsiPortStallExecution を呼び出す代わりに NotificationTypeCallEnableInterrupts を使用して ScsiPortNotification を呼び出す必要があります。 このようなミニポート ドライバーには 、HwScsi のペアがあります。InterruptsCallback ルーチンは、プロセッサを起動せずに割り込み駆動 I/O 処理を管理し、ミニポート ドライバーが同じコンピューターでサポートする可能性がある他の HBA の I/O パフォーマンスを低下させます。
ミニポート ドライバーが提供する HwScsiTimer ルーチンは、1 ミリ秒に制限されない指定された間隔で ScsiPortNotification への呼び出しで渡すこともできます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | srb.h (Miniport.h、Scsi.h を含む) |
Library | Scsiport.lib |
こちらもご覧ください
HwScsiDisableInterruptsCallback