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
|