Instruction manual
AMPDIO DRIVERS
Page 234
7 IOCTL INTERFACE
7.1 About this Chapter
This chapter gives a brief outline of the low-level interface to the Amplicon DIO driver. See the
AMPIOCTL.RTF file (installed in the DIO_CODE subdirectory) for a full description. See the C
source code for DIO_TC.DLL for examples of usage.
7.2 About the Driver
The Amplicon Windows DIO Driver is a kernel mode driver providing and IO control (IOCTL)
interface to the hardware. Different drivers are provided for different versions of Windows. A VxD is
provided for Windows 95, Windows 98 and Windows ME. A legacy kernel mode driver is provided
for Windows NT 4.0. A plug-and-play kernel mode driver is provided for Windows 2000 upwards.
All the drivers provide more or less the same ioctl interface, but there are minor differences
between the VxD and the drivers for NT-based operating systems.
7.2.1 Driver Architecture
Both the Windows 95 and NT device drivers support an IOCTL interface allowing a wrapper DLL or
a user application to communicate directly to the hardware. An example wrapper DLL,
DIO_TC.DLL has been provided.
Architecture
7.3 The IOCTL Commands Supported
The IOCTL interface is defined in the C header file AMPIOCTL.H. These IOCTL commands can be
used in conjunction with the DIO_IOCTL call function to directly interface to the driver.
IOCTL_QUERY_VERSION
Determine driver version. (Version 4.02
onwards.)
IOCTL_QUERY_RESOURCE
Determine card type, IRQ and I/O base address.
IOCTL_QUERY_PCIPOS
Determine card position on PCI bus. (Version
4.20 onwards.)
IOCTL_QUERY_HWVERSION Determine card’s hardware version. (Version
IOCTL Amplicon API
SPI
System API
User
Application
Wrapper DLL Driver Hardware
Operating
System