windows-nt/Source/XPSP1/NT/drivers/input/pnpi8042
..
daytona
fe
nec_98
dirs
hook.c
i8042cfg.h
i8042cmn.c
i8042dep.c
i8042log.mc
i8042prt.h
i8042prt.rc
i8042str.c
i8042str.h
kbdcmn.c
kbddep.c
kbdpnp.c
moucmn.c
moudep.c
moupnp.c
pnp.c
readme.htm
sources.inc
sysbtn.c
wmi.c

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>PNPI8042</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
</HEAD>
<BODY TEXT="#000000" LINK="#0000ff" VLINK="#800080" BGCOLOR="#ffffff" leftmargin="8">
<FONT FACE="Verdana"><H2><A NAME="MYSAMPLE">PNPI8042</A> </H2>

<span style="color:#FF0000">[This is preliminary documentation and subject to change.]</span> 

<H3>SUMMARY</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
This i8042 (PS/2) device driver implements the Windows&#174; 2000-style keyboard and mouse ports.  It differs from Windows NT&#174; 4.0 in that instead of writing the device object's name to the registry and relying on the class driver (either mouclass or kbdclass) to load after it and look at these names, it is in the same driver stack as the class driver itself.  Almost all the other interactions with the class driver are the same.<P>

The code works on Windows 2000 or later platforms.  This code will not work on previous versions Windows NT due to support for Plug and Play, Power, and the new class drivers.<P>

The driver supports Plug and Play with respect to the Plug and Play IRP. The driver does not perform device detection or support hot plugging. As for power, i8042prt supports low power states by reinitializing the devices upon resumption to normal power.<P>

<H3>BUILDING THE SAMPLE</H3></FONT><FONT FACE="Verdana" SIZE=2><P>
This sample builds i8042prt.sys.  Necessary files include those in this directory and Kbdmou.h, Ntdd8042.h, Ntddmou.h, Ntddkbd.h, PoClass.h, and wmistr.h. Both free and checked builds are available.  <b>NOTE:</b>  Wmilib.sys must be present on the target machine for the binary to load properly.

<H3>CODE TOUR</H3>
<H4>File Manifest</H4>
</FONT><U><PRE>File&#9;&#9;	Description
</U>
Pnpi8042.htm&#9;	The documentation for this sample (this file).
Sources&#9;		The generic file for building this code sample.
Hook.c&#9;		Callback functions for upper hook filters
I8042cfg.h&#9;	Configuration information
I8042cmn.c&#9;	IOCTL dispatch, DPC completion routines, StartIO
I8042dep.c&#9;	DriverEntry, Hardware initialization routines
I8042log.mc&#9;	Definition for i8042prt errors
I8042prt.h&#9;	Global i8042prt header file
I8042prt.rc&#9;	Resources
I8042str.c&#9;	String constants
I8042str.h&#9;	String constants definitions
Kbdcmn.c&#9;	Keyboard packet reporting
Kbddep.c&#9;	Keyboard specific initialization
Kbdpnp.c&#9;	Keyboard specific PnP routines
Moucmn.c&#9;	Mouse mapcket reporting
Moudep.c&#9;	Mouse-specific initialization
Moupnp.c&#9;	Mouse-specific PnP routines
Pnp.c&#9;		Plug and Play and Power dispatch functions
SysBtn.c&#9;	System (i.e., power) button support 
Wmi.c&#9;		System Control/WMI dispatch


</FONT><P ALIGN="CENTER"><A HREF="#top"><FONT FACE="Verdana" SIZE=2>Top of page</FONT></A><FONT FACE="Verdana" SIZE=2> </P></FONT>
<TABLE CELLSPACING=0 BORDER=0 WIDTH=624>
<TR><TD VALIGN="MIDDLE" BGCOLOR="#00ffff" HEIGHT=2>
<P></TD>
</TR>
</TABLE>

<FONT FACE="MS Sans Serif" SIZE=1><P>&copy; 1999 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY>
</HTML>