News: 3-Jul-2005Winparport library version 0.5 released. Main change is that original openparport.sys driver is deprecated (since OS provides a built-in way to access parallel port). Still considered beta, however the library was used excessively for over a month now.
Today I learned that bit-level parallel port access is indeed possible on windows without any additional drivers installation. This fact is of paramount importance. The default mechanism is actually pretty complete, it supports exclusive port locking and allows port access even for non-administrators. In spite of this knowledge, project is going to change in following way:
These changes are coming soon, stay tuned.
This library allows direct low-level parallel port access. You’ll certainly need this library when you need to access your LPT port as a bucket of pins, rather then a communication port. Typical applications are JTAG cables, LCD panels, buttons, sensors, etc. This library does not require installation of any special drivers of any kind, nor it installs any drivers behind the scene or even needs administrative privileges. To my best knowledge this is the only library of that kind.
Library utilizes Windows built-in mechanism for accessing parallel ports. It automatically claims parallel port for exclusive access during I/O operations and is fully aware of spooler and parallel port class driver.
There are multiple ways to access OpenParport driver.
- Using <ppdev.h> API. This is preferred method. Just include <ppdev/ppdev.h> and change function names of 3 functions ( ‘open’, ‘close’, ‘ioctl’) in your code – and get a subset of Linux /dev/ppdev functionality related to low-level parallel port access. This is the most portable way.
- File <ppapi.h> contains all definitions to access parallel port device. This file is heavily windows-specific.
- Package includes a dlportio.dll library, which emulates port access API of DriverLINX Port I/O Driver Interface. If you already have software that uses this driver, merely replacing dlportio.dll with a version that comes with this driver will switch it to use WinParport library.
This package includes a driver (along with install program) called paraccel.sys . Do not install that driver unless you absolutely have to. This driver is optional, it adds no additional functionality. However it makes the current Windows built-in parallel port driver to work significantly faster. This may be useful if you transfer a lot of data via parallel port cable. Read paraccel.rtf file for explanation how it works.