pruss@ria.ccs.uwo.ca (? pruss) (05/30/90)
Basically I am wondering what SUBST and JOIN actually do. Is there some portable way of accessing the SUBST/JOIN data area? I found it at a different address under DOS 3.3 and 4.01. Also, has the format of this data area been released? It seems that this data area lists the actual unmapped drive:path for each drive letter and indicates whether the mapping is from drive:path -> letter or letter -> drive:path. I would be interested in a way of doing the drive/dir mapping under software control. --;-- pruss@ria.ccs.uwo.ca // pruss@ria.UUCP
ralf@b.gp.cs.cmu.edu (Ralf Brown) (05/30/90)
In article <431@ria.ccs.uwo.ca> pruss@ria.ccs.uwo.ca (? pruss) writes: }Basically I am wondering what SUBST and JOIN actually do. } }Is there some portable way of accessing the SUBST/JOIN data area? }I found it at a different address under DOS 3.3 and 4.01. Also, }has the format of this data area been released? Yes, there is a portable way of accessing it. No, the format has not officially been released. However, it is described in INTER290.ZIP. Call INT 21h with AH=52h. On return, the DWORD at ES:BX+17h points at an array of current directory structures. Format of current directory structure (array, 51h bytes [58h for DOS 4.x] per drive): Offset Size Description 00h 67 BYTEs current path as ASCIZ, starting with 'x:\' 43h WORD bit flags bit 15: network drive \ installable file system if both set bit 14: physical drive / invalid drive if neither bit set bit 13: JOIN'ed, current path is actual path without JOIN drive letter in path may differ from logical drive name bit 12: SUBST'ed, current path is actual path without SUBST drive letter in path may differ from logical drive name 45h DWORD pointer to DOS Disk Block for this drive ---local drives--- 49h WORD starting cluster of current directory 0000h = root, FFFFh never accessed 4Bh WORD ??? seems always to be FFFFh 4Dh WORD ??? seems always to be FFFFh ---network drives--- 49h DWORD pointer to a redirector/REDIRIFS record, else FFFFFFFFh 4Dh WORD stored parameter from INT 21/AX=5F03h??? ------ 4Fh WORD Offset of '\' in current path field representing root directory of logical drive (2 if not SUBST'ed or JOIN'ed, otherwise number of bytes in SUBST/JOIN path) ---DOS 4.x--- 51h BYTE ??? used by network 52h DWORD pointer to IFS driver for this drive, 00000000h if native DOS 56h WORD ??? -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/46 BITnet: RALF%CS.CMU.EDU@CMUCCVMA AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? | _How_to_Prove_It_ by Dana Angluin 20. by vehement assertion: It What's that?|is useful to have some kind of authority relation to the audience
ralf@b.gp.cs.cmu.edu (Ralf Brown) (05/30/90)
Oops, made a typo. That's ES:BX+16h in DOS 3.1 and up, not 17h (which is only valid for DOS 3.0). -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/46 BITnet: RALF%CS.CMU.EDU@CMUCCVMA AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? | _How_to_Prove_It_ by Dana Angluin 20. by vehement assertion: It What's that?|is useful to have some kind of authority relation to the audience
nelson@sun.soe.clarkson.edu (Russ Nelson) (05/31/90)
In article <9456@pt.cs.cmu.edu> ralf@b.gp.cs.cmu.edu (Ralf Brown) writes: In article <431@ria.ccs.uwo.ca> pruss@ria.ccs.uwo.ca (? pruss) writes: }Basically I am wondering what SUBST and JOIN actually do. } }Is there some portable way of accessing the SUBST/JOIN data area? }I found it at a different address under DOS 3.3 and 4.01. Also, }has the format of this data area been released? Yes, there is a portable way of accessing it. No, the format has not officially been released. However, it is described in INTER290.ZIP. Yeah, but you have to be very careful about *what* you mount *where*. Basically, DOS gets very upset if you try to join a network drive, or if you try to join something anywhere but root, or if the directory you're joining it to doesn't exist, ad nauseum. JOIN does an awful lot of checking before it tells you "bad parameter". Real *good* error message, that. -- --russ (nelson@clutx [.bitnet | .clarkson.edu]) Russ.Nelson@$315.268.6667 Violence never solves problems, it just changes them into more subtle problems