Application software running on Microsoft® Windows NT® normally does not interact directly with device drivers. Usually, the operating system itself controls the interface to underlying device drivers on behalf of the application. For example, Disk I/O consists of sequences of driver requests generated by a file system, as a result of an application making file system requests.
By contrast, in the Microsoft® SNA Server device driver model, synchronous dumb cards are controlled directly by the SNALink using input and output control (IOCTL) commands. This mechanism allows the SNALink to pass raw control packets to the driver without any intervention from the operating system.
This is achieved by issuing an Open request with a file name that identifies the device driver. The operating system detects the fact that this file is in fact a driver and passes an OPEN I/O request packet to the driver. The user application is returned a handle that can be used to reference the driver.
The IBMSYNC driver creates various device names. During setup, the configuration for adapters in the computer is saved in the registry; when the driver starts up, it reads this data and creates the device names for all the adapters that are found.
The following table lists the device names that the IBMSYNC driver can create.
Device name | Description |
---|---|
\Device\IBMSDLC | Standard IBM SDLC adapter. |
\Device\MPCA_1 | IBM MPCA 1 adapter. This adapter has a switch set on it to enforce MPCA 1 operation. This adapter is the primary MPCA adapter in the computer and supports DMA interrupt mode. |
\Device\MPCA_2 | IBM MPCA 2 adapter. This adapter has a switch set on it to enforce MPCA 2 operation. This adapter is the secondary MPCA adapter in the computer and supports only interrupt mode. |
\Device\SYNC_x | Generic adapter (for example, Microgate). The letter x is 1 (for the primary adapter) or 2 (for the secondary adapter). |
\Device\MPAA_Sx | IBM MPAA adapter, where x represents the number of the MCA slot where the adapter is installed in the computer. This number is a value from 1 through 8. |
\Device\SYNC_Sx | Generic MPAA adapter (for example, the Microgate MPAA adapter). The letter x represents the number of the MCA slot where the adapter is installed in the computer. This number is a value from 1 through 8. |
Subsequent IOCTL calls (using DeviceIOControl under Windows NT) made by the SNALink using the driver handle cause the operating system to pass an IOCTL I/O request packet to the driver. The driver therefore sees IOCTL requests from the SNALink as a series of I/O request packets passed to it by the operating system.
The SNA Server dumb card interface uses the following operating system calls:
OpenFile
DeviceIOControl
CloseFile
DeviceIOControl allows free-format information to be passed to the driver. The dumb card interface uses its own format of information to pass all requests to the driver (with the exception of Open and Close requests, which are handled differently by the operating system).