![dosbox windows 3.1 lag dosbox windows 3.1 lag](http://www.manmrk.net/tutorials/DOS/G/DOSBOX/DOSBOXT2_files/changingvideomode.png)
Looking at vDos source code could help if you plan to bring this funcionality to Dos Box You could also check 5dh functions marked mostly as internal. This function unlocks access to a region of the file which was previously locked.
![dosbox windows 3.1 lag dosbox windows 3.1 lag](https://joshmccarty.com/wp-content/uploads/2013/08/media-player-canyon.png)
The region of the file that begins at file logical offset CX:DX extending for a length of SI:DI is locked. This function locks access to a region of the file identified by the file handle in BX. Returns: AX error code if CF is set to CY SI:DI length in bytes of region to lock (SI * 65536)+DI In 0x21 interrupt code 0x5c handles locking and unlocking filesĬX:DX file offset from start of file (CX * 65536)+DX SHARE.EXE intercepts DOS Interupt (0x21) and DOS Multiplex Interrupt (0x2F). It must be run, to hook into system and intercept some requests. SHARE.EXE works as Terminate and Stay Resident kind of program. I am trying to work out how the lock / unlock file test is done so I can try to remediate within DosBox and create my own test program to replicate in C or VB. The APIs that seem potentially related in the import table of VB.exe are: However within the VB.exe I can't find any reference to LOCKFILE API, so I suspect NTVDM.exe is translating it somehow. When I set a breakpoint at return of LockFile API and faked a faliure (returned false) On Windows 7 I got the same error message "SHARE.exe must be installed in order to run Visual Basic" A Temp file is created with GetTempFilename.Running on Windows 7 32-bit and using a debugger attached to NTVDM.exe I found the following process is used: Some old MS-DOS applications just check for existence of the EXE and it's presence in autoexec.bat, but in this case the EXE exists, but the error still occurs. SHARE.exe must be installed in order to run Visual Basic I was trying to run Visual Basic 4 (16-bit) in Windows 3.1 running within DosBox.