ISRHandler (Windows Embedded CE 6.0)
1/6/2010
This function prototype is used by OEMs and indepent hardware vendors (IHVs) to create and export an installable interrupt handler.
Syntax
DWORD ISRHandler(
DWORD InstanceIndex
);
Parameters
- InstanceIndex
[in] Instance of the interrupt service routine (ISR).
Return Value
The SYSINTR value that corresponds to the interrupt service thread (IST) that should be schedule to run. This can also include returning SYSINTR_CHAIN if the interrupt service request (IRQ) is not handled by your handler.
Remarks
When the kernel receives the first SYSINTR that is not SYSINTR_CHAIN, it uses that value to trigger the IST and discontinues processing the chain.
If the original IRQ is still set, the kernel calls the OEM adaptation layer (OAL), and the interrupt handler chain restarts from the beginning.
If no handler is available to handle an IRQ, SYSINTR_NOP is returned to the kernel.
At this point, the OEM can only disable the interrupt to prevent an interrupt cycle from occurring.
An OEM/IHV that installs a driver must ensure that the hardware does not interrupt until the driver and interrupt handler are in place. Otherwise, the OAL cannot know how to properly handle the event, and the event is lost.
Note
The name of this function is chosen by the OEM, and does not need to be ISRHandler. The function name must be passed to the LoadIntChainHandler function.
Requirements
Library | Developer Implemented |
Windows Embedded CE | Windows CE .NET 4.0 and later |