MOUSER

[This is preliminary documentation and subject to change.]

SUMMARY

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.

BUILDING THE SAMPLE

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.

RESOURCES

For the serial enumeration spec, read http://www.microsoft.com/hwdev/download/respec/pnpcom.rtf.

CODE TOUR

File Manifest

File			Description

Mouser.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

Top of page

© 1999 Microsoft Corporation