GPTrap: A VxD that Traps GP Faults

GPTrap is a virtual device (VxD) that uses the Hook_PM_Fault service to catch general protection (GP) faults. When a GP fault occurs, GPTrap receives control and executes an Interrupt 1. If execution is then continued, control is passed to the next handler in the fault handler chain.

The VxDStub code for this VxD is an example in itself. The stub hooks Interrupt 2Fh, terminates, and stays resident. When the Microsoft(R) Windows(TM) operating system loads, the TSR responds to the Interrupt 2Fh, AX=1605h broadcast during Windows initialization and returns a structure that causes the VxD to be loaded. Thus, the SYSTEM.INI file does not require a DEVICE= line, and the VxD does not have to be placed in the Windows SYSTEM directory. To use the automatic VxD load feature, run GPTRAP.EXE before starting Windows in enhanced mode. If you don't use this feature, place GPTRAP.386 in the Windows SYSTEM directory and add DEVICE=GPTRAP.386 to the [386Enh] section of the SYSTEM.INI file.

This sample code requires special VxD tools and include files; see the "VxD Tools" and "VxD Include Files" abstracts to copy these files to your development system. For more information on using the Microsoft Windows version 3.1 Device Driver Kit (DDK) files included on this CD, read the technical article "The VxD-Lite Mini-DDK." For more information on virtual device programming, see the DDK "Virtual Device Adaptation Guide."

GPTrap was built and tested under Microsoft Windows version 3.1.

{ewc navigate.dll, ewbutton, /Bcodeview /T"Click to open or copy files in the gptrap project." /C"samples}

THIS TOOL IS NOT SUPPORTED BY MICROSOFT CORPORATION. IT IS PROVIDED "AS IS" BECAUSE WE BELIEVE IT MAY BE USEFUL TO YOU. PLEASE DO NOT CONTACT MICROSOFT PRODUCT SUPPORT SERVICES FOR SUPPORT OR ASSISTANCE SHOULD YOU HAVE PROBLEMS USING THIS TOOL.

READ THE ASSOCIATED DOCUMENTATION, IF ANY, REGARDING THIS TOOL PRIOR TO USING. ANY USE BY YOU OF THE TOOL IS AT YOUR OWN RISK. THE TOOL IS PROVIDED FOR USE "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.