---------------------- MS-DOS v6.22 Help: DEVICEHIGH -----------------------
<Notes> <Examples>                                               <Index>


Loads device driver you specify into the upper memory area. Loading a device
driver into the upper memory area frees more bytes of conventional memory
for other programs. If upper memory is not available, the DEVICEHIGH command
functions just like the DEVICE command.

You can use this command only in your CONFIG.SYS file.


    DEVICEHIGH [drive:][path]filename [dd-parameters]

To specify the region(s) of memory into which to load the device driver, use
the following syntax:

    DEVICEHIGH [[/L:region1[,minsize1][;region2[,minsize2] [/S]]=
    [drive:][path]filename [dd-parameters]


    Specifies the location and name of the device driver you want to load
    into the upper memory area.

    Specifies any command-line information required by the device driver.


    Specifies one or more regions of memory into which to load the device
    driver. By default, MS-DOS loads the driver into the largest free
    upper-memory block (UMB) and makes all other UMBs available for the
    driver's use. You can use the /L switch to load the device driver into a
    specific region of memory or to specify which region(s) the driver can

    To load the driver into the largest block in a specific region of upper
    memory, specify the region number after the /L switch. For example, to
    load the driver into the largest free block in region 4, you would type
    /L:4. (To list the free areas of memory, type MEM /F at the command

    When loaded with the /L switch, a device driver can use only the
    specified memory region. Some device drivers use more than one area of
    memory; for those drivers, you can specify more than one region. (To
    find out how a particular device driver uses memory, issue the MEM /M
    command and specify the device-driver name as an argument.) To specify
    two or more regions, separate the block numbers with a semicolon (;).
    For example, to use blocks 2 and 3, you would type /L:2;3.

    Normally, MS-DOS loads a driver into a UMB in the specified region only
    if that region contains a UMB larger than the driver's load size
    (usually equal to the size of the executable program file). If the
    driver requires more memory while running than it does when loaded, you
    can use the minsize parameter to ensure that the driver will not be
    loaded into a UMB that is too small for it. If you specify a value for
    minsize, MS-DOS loads the driver into that region only if it contains a
    UMB that is larger than both the driver's load size and the minsize

    Shrinks the UMB to its minimum size while the driver is loading. Using
    this switch makes the most efficient use of memory. This switch is
    normally used only by the MemMaker program, which can analyze a device
    driver's memory use to determine whether the /S switch can safely be
    used when loading that driver. This switch can be used only in
    conjunction with the /L switch and affects only UMBs for which a minimum
    size was specified.

Related Commands

For information about loading programs into the upper memory area, see the
<LOADHIGH> command.

For information about loading device drivers into conventional memory, see
<DEVICE> command.

For information about using the MemMaker program to move programs to the
upper memory area, see the <MEMMAKER> command.


<Syntax> <Examples>


Using the DOS=UMB command

To use the DEVICEHIGH command, you must also include the DOS=UMB command in
your CONFIG.SYS file. If you do not specify this command, all device drivers
are loaded into conventional memory, as if you had used the DEVICE command.
For more information, see the <DOS> command.

Using MemMaker to optimize upper memory area automatically

The MemMaker program, included with MS-DOS, automatically optimizes your
system's memory. MemMaker surveys the upper memory area, analyzes the memory
use of your drivers and programs, and determines which drivers and programs
fit best into the available UMBs. MemMaker then changes selected DEVICE
commands in your CONFIG.SYS file to DEVICEHIGH commands and adds /L and /S
switches as necessary. For more information about using MemMaker to optimize
your computer's memory, see "Making More Memory Available" in the MS-DOS
User's Guide.

Using MS-DOS 5 DEVICEHIGH syntax

The version of DEVICEHIGH provided with MS-DOS 5 used the following syntax:

    DEVICEHIGH SIZE=hexsize [drive:][path] filename [dd-parameters]

Although the MS-DOS 5 DEVICEHIGH syntax will still work with MS-DOS 6.22, it
is strongly recommended that you use the current DEVICEHIGH syntax whenever

Installing HIMEM.SYS and a UMB provider

To load a device driver into the upper memory area, your computer must have
extended memory. You must use the DEVICE command once to install the
HIMEM.SYS device driver and then again to install an upper-memory-block
(UMB) provider. These commands must appear before the DEVICEHIGH command in
your CONFIG.SYS file. If your computer has an 80386 or 80486 processor, you
can use EMM386.EXE as the UMB provider. If your computer has a different
processor, you must supply a different UMB provider.

If no upper memory area is available

If there is not enough upper memory area available to load the device driver
you specified with the DEVICEHIGH command, MS-DOS will load it into
conventional memory (as if you had used the DEVICE command).


<Syntax> <Notes>


The following CONFIG.SYS commands make the upper memory area available for
running device drivers and programs:

    device=c:\dos\emm386.exe ram

The following command directs MS-DOS to load a device driver named
MYDRIV.SYS into the upper memory area of an 80386 computer:


The following CONFIG.SYS command directs MS-DOS to run the MOUSE.SYS driver
in the upper memory area and load the driver into upper memory block 2:

    devicehigh=/L:2 C:\drivers\mouse.sys

The following command loads the MYDRIV.SYS driver into region 1 of upper
memory, and also allows the driver to use region 3 if it needs to:

    devicehigh=/L:1;3 C:\util\mydriv.sys

The following command loads the same driver into upper memory regions 1 and
3, but only if each region is at least 30 bytes in size:

    devicehigh=/L:1,30;3,30 C:\util\mydriv.sys


<Top of page>
Last update: December 07, 2002 14:45 by
Content © 1997 Microsoft Corporation
All else © 2000-2005