VMIRQD: A VxD that Virtualizes a Hardware Interrupt

VMIRQD, the virtual monitor IRQ device, is a VxD that demonstrates the virtualization of a hardware interrupt (IRQ). This VxD declares a virtual device ID number; see the VMIRQD.INC file for the declaration.You must have a secondary monochrome display monitor on your system to use this VxD. To install, copy VMIRQD.386 to the Microsoft(R) Windows(TM) SYSTEM directory and add the following lines to the [386Enh] section of your SYSTEM.INI file:

DebugMono=TRUE
VMIRQD_IRQ=x
DEVICE=VMIRQD.386

where x is the IRQ number you wish to monitor.

VMIRQD works only for unvirtualized IRQs. Most of the hardware interrupts that Windows knows about (keyboard, timer, mouse) use IRQs that are already virtualized, and thus cannot be monitored by this VxD. For a simple demonstration of VMIRQD, try IRQ 6, the floppy controller IRQ. This IRQ was not virtualized in the retail release of Windows versions 3.0 and 3.1.

VMIRQD uses the following Virtual Machine Manager (VMM) and Virtual Programmable Interrupt Controller Device (VPICD) services:

_Get_Profile_Decimal_Int

Clear_Mono_Screen

Set_Mono_Cur_Pos

Out_Mono_String

_VPICD_Virtualize_IRQ

_VPICD_Phys_EOI

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

VMIRQD was built and tested under Microsoft Windows version 3.1.

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