Format of current directory structure (CDS) (array, LASTDRIVE entries):
Offset Size Description )
00h 67 BYTEs ASCIZ path in form X:\PATH (local) or UNC form
\\SERVER\PATH (network, see notes below)
43h WORD drive attributes (also see note below) (see also AX=5F07h)
bit 15: uses network redirector \ invalid if 00, installable
bit 14: physical drive / file system if 11
bit 13: JOIN'ed \ path above is true path that would be
bit 12: SUBST'ed / needed if not under SUBST or JOIN
bit 11: removable media (WinNT4.0)
bit 10: hard disk??? (WinNT4.0)
bit 7: remote drive hidden from redirector's assign-list and
exempt from network connection make/break commands;
set for CD-ROM drives by MSCDEX (not supported by
CORELCDX)
45h DWORD pointer to Drive Parameter Block for drive
(see #01395 at AH=32h)
---local drives---
49h WORD starting cluster of current directory
0000h = root, FFFFh = never accessed
4Bh WORD ??? seems to be FFFFh always
4Dh WORD ??? seems to be FFFFh always
---network drives---
49h DWORD pointer to redirector or REDIRIFS record, or FFFFh:FFFFh
(DOS 4 only) available for use by IFS driver
4Dh WORD stored user data from INT 21/AX=5F03h
------
4Fh WORD offset in current directory path of backslash corresponding to
root directory for drive
this value specifies how many characters to hide from the
"CHDIR" and "GETDIR" calls; normally set to 2 to hide the
drive letter and colon, SUBST, JOIN, and networks change it
so that only the appropriate portion of the true path is
visible to the user
---DOS 4.0+ ---
51h BYTE (DOS 4 only, remote drives) device type
04h network drive
52h DWORD pointer to IFS driver (DOS 4) or redirector block (DOS 5+) for
this drive, 00000000h if native DOS
56h WORD available for use by IFS driver
Notes: the path for invalid drives is normally set to X:\, but may be empty
after JOIN x: /D in DR DOS 5.0 or NET USE x: /D in older LAN versions
normally, only one of bits 13&12 may be set together with bit 14, but
DR DOS 5.0 uses other combinations for bits 15-12: 0111 JOIN,
0001 SUBST, 0101 ASSIGN (see #01644)
Windows for Workgroups 3.11 network sets the path to the local
drive and directory even for network drives; in that case the
UNC form \\SERVER\SHARE can be obtained with INT 21/AX=5F02h
or INT 21/AX=5F46h. LapLink RemoteAccess does the same even for
INT 21/AX=5F02h
Window NT 4.0 always uses X:\PATH, even for substituted drives (i.e.
the CDS will *not* contain the original path prior to SUBST)
SoftWindows on the Macintosh PowerPC sets \\E for the host drive
SeeAlso: #01644,INT 21/AX=71AAh/BL=00h