ParClass

[This is preliminary documentation and subject to change.]

SUMMARY

The sources in this directory build the parallel.sys driver that ships in Microsoft® Windows® 2000. ParClass is the bus driver for the "parallel bus." ParClass is responsible for creating the \DosDevices\LPTx device objects that user-mode applications use to access (read, write, and so on) the "raw" parallel port. ParClass is also responsible, as the bus driver, for detecting all parallel enumerable devices connected to the port and creating a PDO for each such device.

ParClass is a kernel-mode driver that runs on all platforms supported by Windows 2000. The driver compiles using both the 64-bit compiler and the x86 version of Microsoft Visual C® 6.0; however, test coverage of the driver under 64-bit and x86 Visual C 6.0 is unknown. The driver supports Plug and Play and Power Management, but Power Management support is minimal.

BUILDING THE SAMPLE

Type build -c to do a clean build. Headers other than the standard headers include Parallel.h and Ntddpar.h.

RESOURCES

ParClass sample is a client of ParPort.

CODE TOUR

File Manifest

File		Description


Becp.c       Bounded ECP (IEEE 1284.3)
Byte.c       PS/2 BiDirectional Byte mode support
Debug.c      Debug support
Devobj.c     Device object management
Ecp.c        Main ECP
Epp.c        Main EPP
Errlog.c     Error log
Exports.c    Exported functions for FDO loaded on top of ParClass PDO
Hwecp.c      Hardware ECP
Hwepp.c      Hardware EPP
Ieee1284.c   IEEE mode main support
Initunld.c   Initialization (DriverEntry) and unload
Ioctl.c      IOCTLs
Nibble.c     Nibble mode
Openclos.c   Open and Close
P12843dl.c   IEEE 1284.3 data link support (required for 1284.4 interface)
Par12843.c   IEEE 1284.3 daisy chain support
Parclass.c   Globals
Parharns.c   Test harness interface
Parloop.c    Write loop for SPP mode
Pnp.c        Main PnP file
Pnpfdo.c     PnP for ParClass FDO
Pnppdo.c     PnP for ParClass PDOs
Port.c       Interface to ParPort
Power.c      Power Management
Queue.c      Queue management utilities
Readwrit.c   Main Read/Write support
Rescan.c     Rescan for changes in connected devices
Spp.c        SPP mode (slow/safe)
Sppieee.c    IEEE compliant SPP mode does not work with non-compliant Devices
Swecp.c      Software ECP
Swepp.c      Software EPP
Test.c       Test support
Thread.c     Worker thread
Util.c       Misc utilities
Wmipdo.c     WMI support for PDOs
Parclass.rc  Resources
Parlog.mc    Error log definitions

Debug.h      Forward declarations for debug macros
Ecp.h        Forward declarations for ecp.c
Funcdecl.h   Forward declarations for driver
Hwecp.h      Forward declarations for hwecp.c
Parclass.h   Forward declarations/Structures driver
Parharns.h   Forward declarations for parharns.c
Parlog.h     Defines for error logging
Pch.h        Precompiled header
Queue.h      Forward declarations for queue.c
Readwrit.h   Forward declarations for readwrit.c
Test.h       Forward declarations for test.c
Util.h       Forward declarations for util.c
Wmipdo.h     Forward declarations for wmipdo.c

Sources      The sources file
Parclass.htm The documentation for this sample (this file).

Programming Tour

This is the full source for the PARALLEL.SYS driver. See code and comments in the source files.

Top of page

© 1999 Microsoft Corporation