This serial mouse driver, which is compliant with Plug and Play, supports dynamic detection (via serenum) and removal (either hotplug or via the device manager). The code serves as a sample for any serial-enumerable device. The behavior of the various routines is documented in the source code files.
The code works on Microsoft® Windows® 2000 or later platforms. This code will not work on previous versions of Windows NT® due to issues with support for Plug and Play, Power Management, and the new class drivers.
The driver also supports Power Management; the mouse is powered down in low power state and is reset when powered up again. The driver works on both x86 and Alpha platforms.
The files necessary to build the sample include those in the directory and KbdMou.h, Ntddmou.h, Ntddser.h, wmistr.h. Once built, the sample produces one binary: Sermouse.sys. Both checked and free builds are available. NOTE: Wmilib.sys must be present on the target machine for the binary to load properly.
For the serial enumeration spec, read http://www.microsoft.com/hwdev/download/respec/pnpcom.rtf.
File DescriptionMouser.htm The documentation for this sample (this file). Sources The generic file for building this code sample. Cseries.c Detection code for CSeries type mice Cseries.h Definitions for cseries.c Debug.h Debug definitions Detect.c Dynamic removal Io.c Read IRP loop and initialization routines Mouser.h Main header file Mouser.rc Resources Mseries.c Detection code for MSeries type mice Mseries.h Definitions for mseries.c Pnp.c Plug and Play and Power routines Sermcmn.c Create and Close dispatch functions Sermdep.c Misc initialization code, DriverEntry Sermlog.mc Error definition file Wmi.c System Control dispatch handler Wrapper.c Wraps all IOCTL based queries
© 1999 Microsoft Corporation