IDE_HW_INTERRUPT funzione di callback (irb.h)
Il IdeHwInterrupt routine del driver miniport 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.
Osservazioni
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, è necessario seguire questa procedura:
- Ignorare l'interrupt sull'HBA.
- Disabilitare gli interrupt nel canale indicato dal parametro ChannelExtension.
- Richiedere una routine di lavoro usando AtaPortRequestWorkerRoutine.
- Completare un'ulteriore elaborazione nella routine di lavoro.
- Abilitare gli interrupt nel canale.
La routine di lavoro deve cancellare l'interrupt sull'HBA prima di restituire TRUE.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | irb.h (include Irb.h) |