Xref: utzoo comp.os.msdos.programmer:4064 comp.sys.novell:921 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!uunet!maverick.ksu.ksu.edu!ux1.cso.uiuc.edu!midway!valley From: valley@uchicago (Doug Dougherty) Newsgroups: comp.os.msdos.programmer,comp.sys.novell Subject: Re: Novell mapped drives Message-ID: Date: 19 Mar 91 12:47:01 GMT References: <12107@pasteur.Berkeley.EDU> Sender: news@midway.uchicago.edu (News Administrator) Organization: University of Chicago Lines: 29 stevew@tureen.Berkeley.EDU (Stephen Williams) writes: >Recently, I've tried using my program in a Novell network environment, >which causes trouble because of Novell's mapped drives. My program sees >multiple copies of many applications because of mapped drives. For example, >WordPerfect is actually on drive D:\WP, but is also mapped to W:. Thus, my >program finds two copies of WordPerfect when looking for programs to install. >How then, can I differentiate between actual physical drives and Novell's >mapped drives? I'd like to be able to do this from Turbo C, of course. Will Use DOS function 60h (Convert Filename to Cannonical Form) and look at the string returned. If it starts with \\, it is a network drive. Admittedly, this method is Novell specific; I have no experience with non-Novell-like networks, and hence don't know for sure what they would return. You might also say that if it doesn't start with "X:", it can't be a physical drive... E.g., (This is A86 syntax) (.RADIX 16) mov ah,60 lea si,drive ; (Assume CS = DS = ES) lea di,outbuff int 21 cmp word [di],"\\" jz net ... drive db "X:",0 outbuff db 50 dup 0 ; 50 hex = 80 dec = MAXPATH