The following sections describe how to write a virtual device driver. The VDD is a 32-bit DLL that runs in user mode in Windows NT. Its purpose is to translate requests from MS-DOS programs into calls to a 32-bit kernel-mode device driver. The VDD serves as a bridge between the 16-bit MS-DOS application and the 32-bit kernel-mode driver. The VDD can be called directly from a modified MS-DOS application, as explained in Application-Based Intercepts or it can rely on the VDM to intercept device access requests from the application and route them to callback functions the VDD has installed.