IDE_HW_INTERRUPT Rückruffunktion (irb.h)
Die Miniporttreiberroutine IdeHwInterrupt verarbeitet Unterbrechungen des Hostbusadapters (HBA), mit dem der Controller für den Miniporttreiber verbunden ist.
Syntax
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
Parameter
[in] ChannelExtension
Ein Zeiger auf die Kanalerweiterung.
Rückgabewert
AtaHwInterrrupt gibt TRUE zurück, wenn der Interrupt von einem der Kanäle des Controllers generiert wird. Wenn ein Kanal den Interrupt nicht generiert hat, sollte die Routine so schnell wie möglich FALSE zurückgeben.
Hinweise
Die IdeHwInterrupt-Routine schließt unterbrechungsgesteuerte E/A-Vorgänge ab.
Wenn der angegebene Kanal den Interrupt nicht generiert hat, sollte der Miniporttreiber einen zweiten (rekursiven) Aufruf der IdeHwInterrupt-Routine ausführen, um Interrupts zu behandeln, die für den anderen Kanal des Controllers vorgesehen sind.
Wenn der Miniporttreiber viel Zeit zum Verarbeiten des Interrupts benötigt, muss er die folgenden Schritte ausführen:
- Schließen Sie den Interrupt für den HBA.
- Deaktivieren Sie Interrupts für den Kanal, der durch den ChannelExtension-Parameter angegeben wird.
- Fordern Sie mithilfe von AtaPortRequestWorkerRoutine eine Workerroutine an.
- Schließen Sie die zusätzliche Verarbeitung in der Workerroutine ab.
- Aktivieren Sie Interrupts für den Kanal.
Die Workerroutine muss den Interrupt für den HBA löschen, bevor TRUE zurückgegeben wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | irb.h (include Irb.h) |