Функция ScsiPortStallExecution (srb.h)
Подпрограмма ScsiPortStallExecution останавливается в драйвере мини-порта.
Синтаксис
SCSIPORT_API VOID ScsiPortStallExecution(
[in] ULONG Delay
);
Параметры
[in] Delay
Задает интервал задержки в микросекундах. Заданное значение должно быть меньше полной миллисекунды.
Возвращаемое значение
None
Remarks
ScsiPortStallExecution следует вызывать как можно реже, а общее время остановки в подпрограмме драйвера мини-порта должно составлять менее одной миллисекунды. Этот вызов связывает процессор, не выполняя никакой полезной работы во время остановки в драйвере.
Как правило, драйвер мини-порта должен вызывать ScsiPortStallExecution только в том случае, если драйвер должен ждать изменения состояния на адаптере HBA, которое не может вызвать прерывание, или если драйвер должен задержаться на очень короткий интервал между доступом к адаптеру безопасности.
Если подпрограмма HwScsiInterrupt драйвера мини-порта должна зависнуть между доступами к HBA и общее время задержки в ISR может составлять более одной миллисекунды, HwScsiInterrupt должен вызывать ScsiPortNotification с NotificationTypeCallEnableInterrupts вместо вызова ScsiPortStallExecution. Такой драйвер мини-порта имеет пару HwScsi.. Подпрограммы ПрерыванияCallback для управления обработкой ввода-вывода на основе прерываний без привязки процессора и снижения производительности ввода-вывода других адаптеров HBA, которые может поддерживать драйвер miniport на том же компьютере.
Подпрограмма HwScsiTimer , предоставляемая драйвером мини-порта, также может передаваться в вызовах ScsiPortNotification с заданным интервалом, который не ограничен одной миллисекуной.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | srb.h (включая Miniport.h, Scsi.h) |
Библиотека | Scsiport.lib |
См. также раздел
HwScsiDisableInterruptsCallback