ScsiPortStallExecution-Funktion (srb.h)
Die ScsiPortStallExecution-Routine stagniert 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 eine vollständige Millisekunde sein.
Rückgabewert
Keine
Bemerkungen
ScsiPortStallExecution sollte so selten wie möglich aufgerufen werden, und die Gesamteinstandszeit in einer Miniporttreiberroutine muss weniger als eine Millisekunde betragen. Dieser Aufruf bindet einen Prozessor und leistet keine nützliche Arbeit, während der Treiber blockiert wird.
Im Allgemeinen sollte ein Miniporttreiber ScsiPortStallExecution nur aufrufen, wenn der Treiber auf eine Zustandsänderung für den HBA warten muss, die keinen Interrupt verursachen kann, oder wenn der Treiber zwischen den Zugriffen auf den HBA ein sehr kurzes Intervall verzögern muss.
Wenn die HwScsiInterrupt-Routine eines Miniporttreibers zwischen den Zugriffen auf den HBA unterbrochen werden muss und die Gesamtverzögerungszeit im ISR mehr als eine Millisekunde beträgt, sollte HwScsiInterruptScsiPortNotification mit dem NotificationTypeCallEnableInterrupts aufrufen, anstatt ScsiPortStallExecution aufzurufen. Ein solcher Miniporttreiber verfügt über ein Paar HwScsi.. InterruptsCallback-Routinen , um die interruptgesteuerte E/A-Verarbeitung zu verwalten, 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.
Eine vom Miniport-Treiber bereitgestellte HwScsiTimer-Routine kann auch in Aufrufen von ScsiPortNotification mit einem angegebenen Intervall übergeben werden, das nicht auf eine Millisekunde beschränkt ist.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | srb.h (einschließlich Miniport.h, Scsi.h) |
Bibliothek | Scsiport.lib |
Weitere Informationen
HwScsiDisableInterruptsCallback