The Main VDD serves as the control point where all calls into the Virtual Display subsystem go. A Ring 3 display driver or a Ring 0 VxD (such as SHELL.VXD) would always call the Main VDD in order to accomplish a task; they never call a mini-VDD directly. If necessary, the Main VDD calls the device-dependent mini-VDD. The mini-VDD contains all of the functionality needed to virtualize high resolution Super VGA hardware such as those made by S3, ATI, Western Digital, or Cirrus. The device driver kit contains many sample mini-VDD sources that you can use as examples when writing your own mini-VDD.
You should utilize the new VDD interface for Windows 95 rather than using an old Windows 3.x VDD. The new VDD interface contains many functions that a Windows 95 compliant mini-VDD can take advantage of. For example:
Included in the Device Driver Kit (DDK) are a number of mini-VDD samples, and the files VDD.VXD and VDD.SYM that you can use in debugging your mini-VDD. Because the Main VDD is a Windows 95 core component, the source code is not included in the DDK. However, some of the basic concepts are similar to the VDDVGA.386 sources included in the Windows 3.1 DDK. So if you have a Windows 3.1 DDK, you can follow those sources as a rough guide.
The mini-VDD is closely intertwined with the display driver. You should implement a Windows 95 Mini-Display-Driver and mini-VDD together although a Windows 3.1 display driver can also use the Windows 95 VDD interface with just a few modifications to the display driver's Enable code.