ScsiPortStallExecution-Funktion (srb.h)
Die ScsiPortStallExecution Routinestände im Miniporttreiber.
Syntax
SCSIPORT_API VOID ScsiPortStallExecution(
[in] ULONG Delay
);
Parameter
[in] Delay
Gibt das Verzögerungsintervall in Mikrosekunden an. Der angegebene Wert muss kleiner als ein vollständiger Millisekunden sein.
Rückgabewert
Nichts
Bemerkungen
ScsiPortStallExecution sollte so selten wie möglich aufgerufen werden, und die Gesamtlaufzeit in einer Miniporttreiberroutine muss kleiner als eine Millisekunden sein. Dieser Aufruf bindet einen Prozessor und leistet keine nützliche Arbeit, während er im Treiber angehalten wird.
Im Allgemeinen sollte ein Miniporttreiber ScsiPortStallExecution nur aufrufen, wenn der Treiber auf eine Zustandsänderung auf der HBA warten muss, die keine Unterbrechung verursachen kann, oder wenn der Treiber für ein sehr kurzes Intervall zwischen Zugriffen auf die HBA verzögert werden muss.
Wenn die HwScsiInterrupt eines Miniporttreibers Routine zwischen den Zugriffen auf die HBA und die Gesamtverzögerungszeit im ISR möglicherweise mehr als eine Millisekunden beträgt, HwScsiInterrupt- sollte ScsiPortNotification mit dem NotificationTypeCallEnableInterrupts aufrufen, anstatt ScsiPortStallExecutionaufzurufen. Ein solcher Miniporttreiber hat ein Paar HwScsi.. InterruptsCallback Routinen zum Verwalten der unterbrechungsgesteuerten E/A-Verarbeitung, ohne einen Prozessor zu binden und die E/A-Leistung anderer HBAs zu beeinträchtigen, die der Miniporttreiber möglicherweise auf demselben Computer unterstützt.
Ein HwScsiTimer- Routine bereitgestellter Miniporttreiber kann auch in Aufrufen an ScsiPortNotification mit einem angegebenen Intervall übergeben werden, das nicht auf eine Millisekunden beschränkt ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | srb.h (include Miniport.h, Scsi.h) |
Library | Scsiport.lib |
Siehe auch
HwScsiDisableInterruptsCallback-