The Windows pen device driver supports digitizing pen hardware from various manufacturers, and is a Unidriver. The pen calibration application enables the user to calibrate a digitizer by touching targets on the digitizer; the calibration information obtained is used by the driver in reporting pen position coordinates to Windows. The executable pen device support components are listed in the following table.
Component | Filename | Description |
Virtual device driver, VxD | VPENDC.VXD | Part of the pen Unidriver. A 32-bit virtual device driver with ring 0 privilege. Contains the pen device interrupt service routine. |
Pen driver | PENC.DRV | Part of the pen Unidriver. A 16-bit installable device driver with ring 3 privilege. Handles messages from the Pen Services for Windows 95 system component (PENWIN.DLL) and other clients. |
Pen driver interface | PENUI.DLL | Part of the pen Unidriver. Provides a user interface for configuring the pen Unidriver. |
Pen calibration application | PENCAL.DLL | An application that extends the capability of the Pen icon in the Windows 95 Control Panel by providing a user interface for calibrating the pen device. |
The terms pen Unidriver and pen device driver describe the combination of all three components. Pen system refers to the pen services of Microsoft Windows 95 provided by the PENWIN.DLL library.
After the Microsoft Windows 95 Device Driver Kit (DDK) is installed, the source code for the sample pen Unidriver components are in sub directories under the directory \PEN\SAMPLES. The virtual pen driver source code is in the \PEN\SAMPLES\VPEND sub directory, the pen driver source code is in the \PEN\SAMPLES\PEN sub directory, the pen driver interface source code is in the \PEN\SAMPLES\PENUI subdirectory, and the calibration application source code is in the \PEN\SAMPLES\PENCAL sub directory. The common header files for all the components are in \PEN\INC.
The Unidriver architecture allows the original equipment manufacturer (OEM) to quickly create a custom pen device driver tailored for a specific device. The OEM developer need only remove unnecessary portions from the code and optionally modify or enhance other portions. For more information on how to modify the Unidriver source code for a specific pen device, see .
Regardless of the pen driver an OEM develops, the OEM must ensure that its hardware supports the documented procedures of the pen Unidriver.