Eatpages: A VxD that Consumes Physical Pages

Eatpages is a virtual device (VxD) that demonstrates the use of the Virtual Machine Manager (VMM) Linked List services and Page Allocation services. The VxD simply allocates half of the free physical pages at boot time and frees the pages at system exit. This can be useful for simulating low-memory conditions.

Eatpages uses the following virtual machine manager (VMM) services:

_GetDemandPageInfo

_PageAllocate

_PageFree

List_Create

List_Allocate

List_Attach_Tail

List_Get_First

List_Get_Next

List_Remove

List_Deallocate

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 EATPAGES.EXE before starting Windows in enhanced mode. If you don't use this feature, place EATPAGES.386 in the Windows SYSTEM directory and add DEVICE=EATPAGES.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."

Eatpages was built and tested under Microsoft Windows version 3.1.

{ewc navigate.dll, ewbutton, /Bcodeview /T"Click to open or copy files in the eatpages 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.