<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® 2000-style keyboard and mouse ports. It differs from Windows NT® 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		 Description </U> Pnpi8042.htm	 The documentation for this sample (this file). Sources	 The generic file for building this code sample. Hook.c	 Callback functions for upper hook filters I8042cfg.h	 Configuration information I8042cmn.c	 IOCTL dispatch, DPC completion routines, StartIO I8042dep.c	 DriverEntry, Hardware initialization routines I8042log.mc	 Definition for i8042prt errors I8042prt.h	 Global i8042prt header file I8042prt.rc	 Resources I8042str.c	 String constants I8042str.h	 String constants definitions Kbdcmn.c	 Keyboard packet reporting Kbddep.c	 Keyboard specific initialization Kbdpnp.c	 Keyboard specific PnP routines Moucmn.c	 Mouse mapcket reporting Moudep.c	 Mouse-specific initialization Moupnp.c	 Mouse-specific PnP routines Pnp.c	 Plug and Play and Power dispatch functions SysBtn.c	 System (i.e., power) button support Wmi.c	 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>© 1999 Microsoft Corporation</FONT><FONT FACE="Verdana" SIZE=2> </P></FONT></BODY> </HTML>