Chapter 5: Software
Several programs are provided to support these Digital I/O cards and, also, to help you develop your
application's software. Most of these programs are described on page 1-1 of this manual. The following
paragraphs describe the IRQCOS driver, Win32COS driver (applicable for 48S only), setup program, and
the VisualBASIC utility program
IRQCOS Driver
Description
IRQCOS.VXD is a Virtual Device Driver, or VxD, for Windows 95/98. IRQCOS.SYS is a Device Driver for
Windows NT 4.0. Functionally, they are identical, and for the purposes of this manual the term IRQCOS
Driver will be used to refer to the appropriate file for your operating system. Together with Win32COS.DLL,
the IRQCOS Driver allows a program to easily respond to hardware change-of-state interrupt requests, or
IRQs, and read data off the card following an IRQ.
Installation
To install IRQCOS.VXD in Windows 95/98, copy it to the directory C:\Windows\System. If your hard drive
has a letter other than C, substitute the appropriate letter. It is not necessary to reboot your system prior to
using IRQCOS.VXD.
To install IRQCOS.SYS in Windows NT, copy it to the directory C:\WINNT\System32\Drivers. If your hard
drive has a letter other than C, substitute the appropriate letter. It is not necessary to reboot your system
prior to using IRQCOS.SYS.
Win32COS.DLL
Description
Win32COS.DLL is a Dynamic Link Library, or DLL, for Windows 95/98 and NT. It provides a simple
interface to the IRQCOS Driver, allowing a program to easily respond to hardware change-of-state
interrupts and read data off the card after an IRQ occurs. Two functions are exported by Win32COS.DLL:
InitCOSDriver, and GetCOSData. To use these functions in a program, they must first be imported into that
program. The simplest way to import these functions in Pascal is to include the Win32COS unit in your
Uses clause, or, in C, to include Win32COS.H. Additionally, in C, the library file CBCOS.LIB (for C++
Builder) or VCCOS.LIB (for Visual C++) must be linked to the program. This is accomplished by adding it to
the project or editing the makefile. If you are not using the Win32COS header file and wish to import the
functions manually, the necessary lines in Pascal would be:
function InitCOSDriver(BaseAddress: DWORD; IRQ: BYTE; BusType: SmallInt;
BusNumber:BYTE): ByteBool; cdecl; external 'Win32COS.dll';
function GetCOSData(Buf: Pointer): ByteBool; cdecl; external 'Win32COS.dll';
To import the functions manually in C, the necessary lines would be:
extern "C" __declspec(dllimport) unsigned char InitCOSDriver(unsigned long
BaseAddress, unsigned char IRQ, short BusType, unsigned char BusNumber);
extern "C" __declspec(dllimport) unsigned char GetCOSData(void *Buf);
Manual PCI-DIO-48(S)
14