Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ut-sally!husc6!linus!gwr From: gwr@linus.UUCP (Gordon W. Ross) Newsgroups: comp.sys.ibm.pc Subject: Re: How do you remove a device driver without a warm boot? Message-ID: <9739@linus.UUCP> Date: Fri, 24-Jul-87 12:46:39 EDT Article-I.D.: linus.9739 Posted: Fri Jul 24 12:46:39 1987 Date-Received: Sat, 25-Jul-87 14:18:50 EDT References: <238@macom1.UUCP> Reply-To: gwr%linus@mitre-bedford.ARPA (Gordon W. Ross) Organization: The MITRE Corporation, Bedford, MA. Lines: 58 Keywords: driver device config.sys Summary: You can't, though the driver could conditionally install In article <238@macom1.UUCP> roth@macom1.UUCP (dennis paul roth) writes: > >I have an image processing workstation built around a Zenith 248 running >under MS-DOS 3.1. The Device Drivers for the image capture board and >the laser printer are such memory hogs that if they are both installed >at the same time there isn't enough memory left over to run the image >processing software. So two versions of the config.sys file exist, one that >loads the laser printer driver with the DEVICE command, another that doesn't. We have a similar situation here, using two config.sys versions. >Now if I want to capture, process, and print images I've got to boot the >system with the config.sys file without the laser printer device driver >capture and process the image, save the image, change the config.sys file >to the one with the laser printer driver, reboot, print the image, then >change the config.sys back again and reboot to capture the next image. > >There must be an easier way. No? No. Unfortunately, the DOS memory management system does not allow for removal of device drivers once they are installed. It is however possible write a device driver which prompts the user during boot load and allows the user to select whether the device driver should install itself normally, or pass a zero length back to DOS causing its installation to be skipped. This is in the DOS Tech. Ref. manual. >My question is. Does anyone out there know how to uninstall a device >driver and release the memory it was using without doing a warm boot? >I will be eternally gratefull to anyone who can assist me with this problem. A device driver which asks whether it should install could save you the trouble of boot loading twice if the the wrong copy of config.sys is in use, but beyond that you're pretty much stuck. There is probably much more in your device drivers than really needs to be there. A better design (at least from the memory usage standpoint) is to put only low-level device interface code in the device driver, and separate other functions into normal executable files. Some software vendors provide TSR (Terminate and Stay Resident) versions of their "drivers" which can remove themselves if they were the last installed. If you're lucky you might convice the people that wrote your software to provide such a version. (Good Luck!) It's too bad there's so much code that's not really device interface dumped into DOS device drivers. It is only slightly more complicated to put that code in regular executable files, and provide the user with batch files to set up the DOS piping if necessary. >-- >Dennis Roth @ CENTEL Information Systems, Inc. 5515 Security Lane, Rockville, >Maryland, 20852, (301) 984-3636 uucp: {decuac, grebyn}!macom1!roth >internet: macom1!roth@{ decuac.DEC.COM, seismo.CSS.GOV } >backdoor: grebyn!macom1!roth@umd5.umd.edu -- Gordon W. Ross Phone: (617) 271-3205 The MITRE Corporation ARPA: linus!gwr@MITRE-BEDFORD Bedford, MA 01730 UUCP: decvax!linus!gwr