IDE_HW_INTERRUPT Rückruffunktion (irb.h)
Die IdeHwInterrupt Miniporttreiberroutine unterbricht vom Hostbusadapter (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 FALSE- so schnell wie möglich zurückgeben.
Bemerkungen
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 an den IdeHwInterrupt Routine durchführen, um Unterbrechungen zu verarbeiten, die für den anderen Kanal des Controllers vorgesehen sind.
Wenn der Miniporttreiber eine große Zeit benötigt, um den Interrupt zu verarbeiten, muss er die folgenden Schritte ausführen:
- Schließen Sie den Interrupt auf der HBA.
- Deaktivieren Sie Unterbrechungen auf dem Kanal, der durch den ChannelExtension Parameter angegeben ist.
- Fordern Sie eine Arbeitsroutine mithilfe von AtaPortRequestWorkerRoutinean.
- Abschließen der zusätzlichen Verarbeitung in der Arbeitsroutine.
- Aktivieren Sie Unterbrechungen im Kanal.
Die Arbeitsroutine muss die Unterbrechung auf der HBA löschen, bevor sie TRUE-zurückgibt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | irb.h (include Irb.h) |