burleigh@ogre.cica.indiana.edu (Frank Burleigh) (05/02/91)
I've just written a short test program to find all the drives in a system and report the characteristics of each drive. The procedure is simply to get the DOS list of lists (21h/52h) and walk along the chain of disk param blocks (DPBs) until one has ffff:ffff in its 'next' field. On stand-alone systems this has worked well. Disaster struck when the test program was loosed on a workstation attached to a Netware network. The workstation has an A: and a B: its own but nothing more; then come the server 'drives'. My test program stopped at B:. The very useful book *Undocumented DOS* does say that there are no current directory structures for network drives under Netware but I don't believe it says there are no DPBs for those drives. Two questions: 1. Will I really then have to try to setdisk() for each possible drive up through LASTDRIVE (in the LoL)? 2. If so, what will I get back if I ask DOS for the DPB for each disk I *can* change to (21h/32h)? Any suggestions appreciated. -- Frank Burleigh burleigh@cica.cica.indiana.edu USENET: ...rutgers!iuvax!cica!burleigh BITNET: BURLEIGH@IUBACS.BITNET Department of Sociology, Indiana University, Bloomington, Indiana 47405
Ralf.Brown@B.GP.CS.CMU.EDU (05/02/91)
In article <1991May1.194041.17719@cica.indiana.edu>, burleigh@ogre.cica.indiana.edu (Frank Burleigh) wrote: }The very useful book *Undocumented DOS* does say that there are no }current directory structures for network drives under Netware but }I don't believe it says there are no DPBs for those drives. Since NetWare hooks INT 21 and handles all requests for access to network drives itself, DOS never sees the network drives. Thus I'm not surprised that DOS doesn't have DPBs for NetWare drives, since it doesn't even know they exist. }2. If so, what will I get back if I ask DOS for the DPB for each }disk I *can* change to (21h/32h)? If NetWare properly supports that call, you should be able to get a DPB by making the call for the NetWare drives. -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/3.1 BITnet: RALF%CS.CMU.EDU@CARNEGIE AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? Did | It isn't what we don't know that gives us trouble, it's I claim something?| what we know that ain't so. --Will Rogers
mlf@comet.cis.ufl.edu (Mike Fisher) (05/03/91)
First you need to get a copy of Ralf Brown's Interrupt List. A new version was just posted on one of the msdos groups not to long ago I think. Then look up int21 function 0x5F subfunction 0x02 (warning: these numbers are from memory, but the should be close) 'Get Redirection List Entry'. The network drives should have entries in this list. I'd post some code, but it's at home and I'm at work. ------------------------------------------------------------------------------- Mike Fisher Real life: There is no such thing... mlf@cis.ufl.edu University of Florida CIS Dept. -- ------------------------------------------------------------------------------- | Real life: There is no such thing... Mike Fisher | | | | University of Florida CIS Dept. mlf@cis.ufl.edu | -------------------------------------------------------------------------------