Home    Prev Next    
Contents
Programming For ISA Hardware
Overview
Programmers Guide
Scenario
I/O Ports control
Single read/write operations
Data array read/write operations
Accessing Physical Memory Addresses
Memory Mapping
Additional Functions
Hardware interrupts handling at user level
Common Functions
OpenRapidIsa
CloseRapidIsa
IsRapidIsaOpened
GetHardwareConfiguration
Direct Port I/O
GetPortByte
GetPortWord
GetPortLong
SetPortByte
SetPortWord
SetPortLong
ReadPortBuffer
WritePortBuffer
Memory Access
MapPhysToLinear
UnmapMemory
GetMem
GetMemW
GetMemL
SetMem
SetMemW
SetMemL
Hardware Interrupts
UnmaskIsaIrq
MaskIsaIrq
GetInterruptCounter
UnmaskIsaIrq
Go to RapidDriver Main Page

Installs a hardware interrupt handler for the ISA device and unmasks the Irq at hardware level. UnmaskIsaIrq allows to handle the
"shared" and "level sensitive" interrupts as well as the "non-shared" and "edge triggered".

Language

Description

C/C++
void UnmaskIsaIrq( HANDLE hIsa, TOnHwInterrupt InterruptHandler );
Delphi
procedure UnmaskIsaIrq ( hIsa: THandle; InterruptHandler: TOnHwInterruptHandler ); stdcall;
VB
Sub UnmaskIsaIrq ( ByVal hIsa As Long, ByVal HWHandler As Long)


Parameters:

hIsa - the handle returned by a successful call to OpenRapidIsa ;
InterruptHandler - address of the callback procedure that handles hardware interrupts for this Irq (use AddressOf specification in VB)

Return Value : None.

Comments:

The interrupt handler function must be declared as follows:

C/C++: typedef void (__stdcall * TOnHwInterrupt)(ULONG TimeStampLoPart, ULONG TimeStampHiPart);

Delphi: procedure OnHwInterrupt(TimeStampLoPart: Longword; TimeStampHiPart: Longword); stdcall;

VB: Sub OnHwInterrupt(ByVal TimeStampLoPart As Long, ByVal TimeStampHiPart As Long)

The TimeStampLoPart/TimeStampHiPart values are parts of value returned by the kernel equivalent of QueryPerformaceCounter() API function.


See also: MaskIsaIrq GetInterruptCounter