Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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) |