📄 abstract
字号:
VFIntD: A VxD that Captures Floppy Disk Interrupts
Revised: February 1993
VFIntD, the virtual floppy interrupt device, is a VxD that
shows how to handle the virtualization of a particular
interrupt request (IRQ). This VxD provides 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
is 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.
VFIntD has two components: the VxD and a sample MS-DOS(R)
application. All the files that have the VFINTD filename
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.
VFIntD uses the following services:
> VPICD_Virtualize_IRQ
> VPICD_Phys_EOI
> VPICD_Clear_Int_Request
> VPICD_Set_Int_Request
To build VFIntD:
You will need Microsoft(R) Macro Assembler version 6.0 or
higher, as well as some special tools and include files;
see the "VxD Tools" and "VxD Include Files" abstracts to
copy these files to your development system. Configure
your development environment as described in the "VxD-Lite
Mini-DDK" technical article on the Microsoft Developer
Network CD.
If you have the Windows(TM) version 3.1 Device Driver Kit
(DDK), you can build its version of VFIntD using the DDK-
supplied MASM5.EXE (a special version of Macro Assembler
version 5.10). Note that the DDK samples require a
specific structure for the source and include
subdirectories, whereas the corresponding samples in the
"VxD-Lite Mini-DDK" utilize the INCLUDE environment
variable to give you more flexibility in structuring your
development files.
To execute VFIntD:
1. Run VFINTD.EXE from the MS-DOS prompt before starting
Windows. When enhanced-mode Windows starts up, the VxD
will load automatically. Thus, you do not need to modify
the SYSTEM.INI file to load this VxD. VFIntD will
automatically load each time you start Windows until you
reboot your computer; once rebooted, the stub loader is
cleared from memory and the VxD will not load.
If you prefer to have Windows load the VxD without first
executing it from the MS-DOS prompt, rename VFINTD.EXE to
VFINTD.386 and move it to the Windows SYSTEM subdirectory.
Add the line DEVICE=VFINTD.386 to the [386Enh] section of
the SYSTEM.INI file.
2. Run Windows in enhanced mode. The code responsible for
self-loading the VxD is in the VXDSTUB.ASM file and is
linked into the final VxD file by the STUB 'VXDSTUB.EXE'
module definition (.DEF) file statement. When executed
from the MS-DOS prompt, the VxDStub hooks Interrupt 2Fh,
terminates, and stays resident. When Microsoft Windows
initializes itself, the TSR responds to the Interrupt 2Fh,
AX=1605h broadcast and returns a structure that causes the
VxD to be loaded. This technique is discussed in the "TSR
Support in Microsoft Windows Version 3.1" technical
article on the Microsoft Developer Network CD.
3. 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 was built and tested under Microsoft Windows
version 3.1 using Microsoft MASM versions 6.0 and 6.1 and
the tools and include files provided in the "VxD-Lite Mini-
DDK."
KEYWORDS: PR-CD1; CD3 (revised)
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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -