The information in this article applies to:
SUMMARYProcesses under Windows NT maintain only one current directory. Under MS-DOS or OS/2, a process will maintain a current directory for each drive. MORE INFORMATION
For example, if you do the following
MS-DOS and OS/2 use a current directory structure (CDS) to maintain this information. The memory for this structure is allocated at boot time, and is set by the LASTDRIVE= line in the CONFIG.SYS file. For example, if you set LASTDRIVE=Z, you will have 26 entries in the CDS and will be able to track 26 current directories. Windows NT by default allows a process to track only one current directory- -the one for the current drive--because the underlying operating system does not use drive letters; it always uses fully-qualified names such as: \Device\HardDisk0\Partition1\autoexec.batThe Win32 subsystem maintains drive letters by setting up symbolic links such as: \??\C: == \Device\HardDisk0\Paritition1(Partitions are 1-based while hard disks are 0-based because Partition0 refers to the entire physical device, which is the "file" that FDISK opens to do its work.) Therefore, when you do SetCurrentDirectory("c:\tmp\sub"), the Win32 subsystem translates that to "\??\c:\tmp\sub", "...". As far as Windows NT is concerned, there are no "drives," there is one object name space. CMD.EXE maintains a private current directory for each drive it has touched and uses environment variables to associate a current directory with each drive. Additional query words: 4.0 Path Directory Current Drive
Keywords : kbAPI kbFileIO kbKernBase kbNTOS310 kbNTOS350 kbNTOS351 kbNTOS400 kbWinOS2000 kbDSupport kbGrpKernBase |
Last Reviewed: January 11, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |