IDE_HW_INTERRUPT función de devolución de llamada (irb.h)
La rutina del controlador ideHwInterrupt miniport controla las interrupciones del adaptador de bus host (HBA) al que está conectado el controlador para el controlador de minipuerto.
Sintaxis
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
Parámetros
[in] ChannelExtension
Puntero a la extensión de canal.
Valor devuelto
AtaHwInterrrupt devuelve TRUE si uno de los canales del controlador genera la interrupción. Si un canal no genera la interrupción, la rutina debe devolver FALSE lo antes posible.
Comentarios
La rutina IdeHwInterrupt completa las operaciones de E/S controladas por interrupciones.
Si el canal indicado no genera la interrupción, el controlador de minipuerto debe realizar una segunda llamada (recursiva) a la rutina IdeHwInterrupt para controlar las interrupciones destinadas al otro canal del controlador.
Si el controlador de minipuerto requiere una gran cantidad de tiempo para procesar la interrupción, debe seguir estos pasos:
- Descarte la interrupción en el HBA.
- Deshabilite las interrupciones en el canal indicado por el parámetro ChannelExtension .
- Solicite una rutina de trabajo mediante AtaPortRequestWorkerRoutine.
- Complete el procesamiento adicional en la rutina de trabajo.
- Habilite las interrupciones en el canal.
La rutina de trabajo debe borrar la interrupción en el HBA antes de que devuelva TRUE.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | irb.h (incluir Irb.h) |