IDE_HW_INTERRUPT funzione di callback (irb.h)
La routine del miniport IdeHwInterrupt gestisce gli interrupt dalla scheda bus host (HBA) a cui è connesso il controller per il driver miniport.
Sintassi
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
Parametri
[in] ChannelExtension
Puntatore all'estensione del canale.
Valore restituito
AtaHwInterrrupt restituisce TRUE se l'interrupt viene generato da uno dei canali del controller. Se un canale non ha generato l'interrupt, la routine deve restituire FALSE il più rapidamente possibile.
Commenti
La routine IdeHwInterrupt completa le operazioni di I/O basate su interrupt.
Se il canale indicato non ha generato l'interrupt, il driver miniport deve effettuare una seconda chiamata (ricorsiva) alla routine IdeHwInterrupt per gestire gli interrupt destinati all'altro canale del controller.
Se il driver miniport richiede una grande quantità di tempo per elaborare l'interrupt, deve seguire questa procedura:
- Ignorare l'interrupt nell'HBA.
- Disabilitare gli interrupt nel canale indicato dal parametro ChannelExtension .
- Richiedere una routine di lavoro usando AtaPortRequestWorkerRoutine.
- Completare l'elaborazione aggiuntiva nella routine di lavoro.
- Abilitare gli interrupt nel canale.
La routine di lavoro deve cancellare l'interrupt nell'HBA prima che restituisca TRUE.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | irb.h (include Irb.h) |