Creates an interrupt thread that wakes up when its hardware interrupt occurs. This function does everything that RtAttachInterruptVector can do, plus specifies a hardware interrupt handler and defines interrupt sharing.
HANDLE RtAttachInterruptVectorEx( PSECURITY_ATTRIBUTES pThreadAttributes, ULONG StackSize, BOOLEAN (RTFCNDCL * pRoutineIST)(PVOID ContextIST), PVOID ContextIST, ULONG Priority, INTERFACE_TYPE InterfaceType, ULONG BusNumber, ULONG BusInterruptLevel, ULONG BusInterruptVector, BOOLEAN ShareVector, KINTERRUPT_MODE InterruptMode, INTERRUPT_DISPOSITION (RTFCNDCL * pRoutineISR)(PVOID ContextISR) );
pThreadAttributes
StackSize
pRoutineIST
ContextIST
Priority
InterfaceType
BusNumber
BusInterruptLevel
BusInterruptVector
ShareVector
InterruptMode
pRoutineISR
ContextIST
parameter and returns one of these values:
pRoutineIST
handler must be called;
StackSize
is ceiled up to a multiple of 4K bytes.
BusInterruptLevel
defines the hardware interrupt.
pRoutineISR
is called from the hardware interrupt handler and may only use the RtReadPortXxx and RtWritePortXxx functions; when it returns CallInterruptThread (2), the interrupt thread is wakes. The function pointed to by pRoutineIST
is called from the interrupt thread and executes in a normal iwin32 context.
pRoutineISR
points to returns.
pRoutineIST
returns. Versions | Defined in | Include | Link to |
---|---|---|---|
INtime 3.0 | intime/rt/include/iwin32.h | iwin32.h | iwin32.lib |
Note
This function operates in the real-time portion of your application.
RtReleasehInterruptVector, RtAttachInterruptVector, Thread priorities, iwin32 API, iwin32 Overview