Disabling an Interrupt (Windows Embedded CE 6.0)

1/5/2010

If your OS needs to disable an interrupt, this typically occurs after the kernel has received a request to unload a driver.

To disable an interrupt

  • Implement the OEMInterruptDisable function, which is called by the kernel when such a request has been made.

To disable a driver interrupt, Windows Embedded CE initiates the following sequence of steps:

  1. The kernel calls the FreeLibrary function to close or unload the device driver.
  2. The kernel calls the DLL main entry function of the driver with the DLL_PROCESS_DETACH flag passed in as a parameter.
  3. The device driver calls the InterruptDisable function to disable the logical interrupt.
  4. InterruptDisable calls OEMInterruptDisable to disable the physical interrupt.
    If the interrupt request (IRQ) line is not multiplexed, the interrupt service routine (ISR) can physically disable the IRQ line associated with the interrupt identifier.
    If the IRQ line is multiplexed, the ISR sends an SYSINTR_NOP interrupt identifier to the kernel for interrupts with the disabled interrupt identifier to keep track of those multiplexed interrupts that have been disabled.

See Also

Tasks

How to Develop an OEM Adaptation Layer

Concepts

Implementing an ISR