VxD Programming
Last revised: September 15, 2000


Back to Bill Alexander's Home Page
 

The following VxDs we compiled with the Windows 95 DDK and Visual C++ 4.0.

WfaVxd.vxd

A good starting point. This is a dynamic loading VxD written in C and a little assembly (don't be afraid). WFAAPP.EXE (a Win32 Console application) calls WFADLL.DLL to load WFAVXD.VXD. Then WFAAPP.EXE calls the VxD to read configuration registers of all of the PCI devices in the system.


DbgPrint.vxd

Demonstrates some debugging techniques which are application and driver independent.


HwTree.vxd

Recursively prints the current hardware tree (hive) to a debug terminal..
 
The following VxDs we compiled with the Windows 98 DDK and Visual Studio 6.0:

CVxdSkel.vxd

Skeleton VxD written in C.  Dynamic loading.  The VxD does nothing but copy the input buffer to the output buffer and returns.  Excellent place to start developing a VxD.  Includes a Real Mode segment, just in case you want to make it a static loading VxD.


CallBiosVxd.vxd

This VxD demonstrates how to call BIOS and V86 interrupts.  The application tells the VxD which interupt to call with associated V86 registers, the VxD loads the client registers with the specifed values and then calls the interrupt.  The VxD then returns the values of the client registers back to the app.  The current app demonstrates INT 33h, INT 13H and INT 12H.


You are visitor