IDE_HW_INTERRUPT callback function (irb.h)
The IdeHwInterrupt miniport driver routine handles interrupts from the host bus adapter (HBA) to which the controller for the miniport driver is connected.
Syntax
IDE_HW_INTERRUPT IdeHwInterrupt;
BOOLEAN IdeHwInterrupt(
[in] PVOID ChannelExtension
)
{...}
Parameters
[in] ChannelExtension
A pointer to the channel extension.
Return value
AtaHwInterrrupt returns TRUE if the interrupt is generated by one of the controller's channels. If a channel did not generate the interrupt, the routine should return FALSE as quickly as possible.
Remarks
The IdeHwInterrupt routine completes interrupt-driven I/O operations.
If the indicated channel did not generate the interrupt, the miniport driver should make a second (recursive) call to the IdeHwInterrupt routine to handle interrupts that are intended for the controller's other channel.
If the miniport driver requires a large amount of time to process the interrupt, it must follow these steps:
- Dismiss the interrupt on the HBA.
- Disable interrupts on the channel that is indicated by the ChannelExtension parameter.
- Request a worker routine by using AtaPortRequestWorkerRoutine.
- Complete additional processing in the worker routine.
- Enable interrupts on the channel.
The worker routine must clear the interrupt on the HBA before it returns TRUE.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | irb.h (include Irb.h) |