VFIntD: A VxD that Captures Floppy Disk Interrupts

VFIntD, the virtual floppy interrupt device, is a VxD that shows how to handle the virtualization of a particular IRQ. This VxD makes a good base for other VxDs that need to perform similar functions.

VFIntD uses the VPICD_Virtualize_IRQ service to allow an application to "capture" the interrupts on IRQ6 (used by the floppy device); this interrupt is normally global. For example, a backup program that must access the floppy controller hardware directly to improve performance would "lose" interrupts to other virtual machines unless action was taken to change the global nature of IRQ6. VFintD can be used in this case to capture the "focus" of the floppy device and the interrupts it generates.

This sample has two components: the VxD and a sample MS-DOS(R) application. All the files that have the VFIntD file name are part of the VxD. The MS-DOS application is called TSTFINT; its only purpose is to capture the floppy interrupts. The focus is not released in the sample application, but this functionality is provided in the VxD.

To install the VxD in your machine, place the following line in the [386Enh] section of your SYSTEM.INI file:

DEVICE=VFINTD.386

Place VFINTD.386 in your Windows SYSTEM directory. Restart Microsoft(R) Windows(TM), and then run TSTFINT.EXE from an MS-DOS Virtual Machine (VM) such as COMMAND.COM to capture the floppy interrupts. TSTFINT will print the VxD's version number to indicate that it has successfully communicated with the VxD.

VFIntD uses the following services:

VPICD_Virtualize_IRQ

VPICD_Phys_EOI

VPICD_Clear_Int_Request

VPICD_Set_Int_Request

For more information on VFIntD, see the README.TXT file included with the sample code. VFIntD 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."

VFIntD was built and tested under Microsoft Windows version 3.1.

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