InterruptInitialize (Windows Embedded CE 6.0)

1/6/2010

This function initializes a hardware interrupt with the kernel. This initialization enables the device driver to register an event and enable the interrupt. This function can be called from kernel-mode drivers and user-mode drivers.

Syntax

BOOL InterruptInitialize(
  DWORD idInt,
  HANDLE hEvent,
  LPVOID pvData,
  DWORD cbData
);

Parameters

  • idInt
    [in] Interrupt identifier for the interrupt service thread (IST).
  • hEvent
    [in] Event to be signaled when the interrupt is triggered.
  • pvData
    [in] Used as a pointer to a block of data that is passed to OEMInterruptEnable. The block of data can be initialization data, scratch space, and so on.
  • cbData
    [in] Size of data pointed to by pvData.

Return Value

TRUE indicates success. FALSE indicates failure.

Remarks

This function must be called before using the hEvent parameter, which provides a link between the idInt parameter and the SYSINTR value returned by an ISR.

The hEvent parameter can be used only in a WaitForSingleObject call to wait for the event to be triggered by the kernel.

A WaitForMultipleObjects call with hEvent fails.

If you use hEvent in a call to WaitForSingleObject before you call InterruptInitialize, InterruptInitialize fails.

InterruptInitialize is a kernel-mode-only function. For more information about kernel-mode-only functions, see Kernel Mode APIs.

InterruptInitialize is used with device drivers and user-mode drivers. For more information about user-mode drivers, see User Mode Driver Framework.

Requirements

Header pkfuncs.h
Library coredll.lib
Windows Embedded CE Windows CE 2.10 and later

See Also

Reference

Kernel Functions
InterruptDisable
InterruptDone

Other Resources

Developing a Device Driver
OEMInterruptDone
OEMInterruptEnable
WaitForMultipleObjects
WaitForSingleObject