		ͻ
		  BuBu's VxD Stub-Loader v1.00.1023.  
		     (c) 2000 by BuBu.  Freeware.     
		ͼ

 What's new.
 I went a step too far trying to optimize this little program and uh... the
 previous version contained a bug... my fault, sorry (hope nobody noticed ;-)
 So, this is now corrected and works fine.

 ===========================================================================

 This is a 16-bit real-mode VxD Loader. It can load only dynamic VxDs since
 static VxDs can only be loaded during system boot. The loader is to be used as
 a stub for VxDs. After linking rename your VxD to *.exe and you are all set.
 When you execute this .exe the system will run the stub (Windows can't just
 execute a VxD) which will load the VxD. If the VxD can't be loaded, you will
 receive an error message; if the VxD is already loaded it will be unloaded.
 The important thing is that the VxD name (VXD VXD_NAME DYNAMIC line in .def
 file) should be exactly the same as the filename (in this case VXD_NAME.EXE)
 or else the VxD won't be able neither to unload nor to check if it's already
 loaded. 

 The commented source code is included. If you want to know more, check Win95
 DDK which is included in Win98 and WinMe DDK and can be downloaded from 
 Microsoft.

 Note on linking: 
 I used TASM/TLINK to produce the executable but TLINK adds some bullshit to
 EXE header, so the file is 992 bytes long. After linking you can crop the 
 header (only first 32 bytes are really needed) and then alter it manually. The
 resulting .exe will then be 512 bytes long. I include the executable with 
 cropped and modified header in case you don't feel like playing with it.

 Contact: bu_bu32@usa.net