What Was the VSHARE.386 Driver in Windows 3.11?
This article provides an overview of the VSHARE.386 virtual device driver used in Microsoft Windows 3.11 and Windows for Workgroups. It explains the driver's core function as a 32-bit replacement for the MS-DOS utility SHARE.EXE, its critical role in supporting Object Linking and Embedding (OLE 2.0), and how it improved system memory efficiency and file-locking stability across virtual machines.
The Purpose of VSHARE.386
In early PC computing, file sharing and record locking were handled
at the operating system level by SHARE.EXE, a real-mode
MS-DOS terminate-and-stay-resident (TSR) program. SHARE.EXE
prevented multiple applications from writing to the same file segment
simultaneously, protecting data from corruption. However, running a
real-mode TSR under Windows had significant downsides: it consumed
scarce conventional memory (the first 640 KB) and could cause conflicts
or instability when multiple Windows and DOS applications ran
concurrently in 386 Enhanced Mode.
Microsoft introduced VSHARE.386 as a 32-bit
protected-mode virtual device driver (VxD) to overcome these
limitations. It took over the file-sharing and byte-range locking
responsibilities of SHARE.EXE natively inside Windows
3.11.
Key Functions and Benefits
- Protected-Mode File and Record Locking:
VSHARE.386manages file-sharing requests across all virtual DOS machines (VDMs) and native Windows applications. When an application attempts to access, read, or modify a file,VSHARE.386checks permissions and locks specific byte ranges to ensure multiple processes do not overwrite the same data. - Support for OLE 2.0: Applications relying on Object
Linking and Embedding 2.0—such as Microsoft Office 4.x, Word 6.0, and
Excel 5.0—require robust file-locking mechanisms to manage compound
files.
VSHARE.386provided the necessary background architecture for these complex file formats without requiring the user to loadSHARE.EXEinAUTOEXEC.BAT. - Conventional Memory Conservation: Because
VSHARE.386is a VxD loaded via theSYSTEM.INIfile, it operates in extended memory rather than the base 640 KB of conventional memory. This freed up vital memory space for DOS programs and reduced out-of-memory errors in Windows. - Seamless Multitasking Support: Unlike the standard
DOS driver,
VSHARE.386was specifically engineered for the preemptive multitasking environment of 386 Enhanced Mode. It monitored and serviced calls directly between the Windows kernel and the underlying file system, providing better reliability during high disk I/O operations and network sharing.
Configuration and Legacy
To enable the driver, users or software installers added the line
device=vshare.386 to the [386Enh] section of
the Windows SYSTEM.INI file. Once active, Windows bypassed
the need for SHARE.EXE altogether for Windows-based tasks.
The architecture introduced by VSHARE.386 proved
foundational, serving as a direct precursor to the integrated 32-bit
file access and native locking systems later incorporated into Windows
95.