Path: utzoo!utgpu!watserv1!watmath!att!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!fauern!lan!rommel From: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Newsgroups: comp.os.os2.programmer Subject: Re: Dectection of HPFS File system? Message-ID: <5585@tuminfo1.lan.informatik.tu-muenchen.dbp.de> Date: 17 Nov 90 10:32:19 GMT References: <1990Nov15.174907.19980@mks.com> Sender: news@lan.informatik.tu-muenchen.dbp.de Reply-To: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Organization: Inst. fuer Informatik, TU Muenchen, W. Germany Lines: 26 In article <1990Nov15.174907.19980@mks.com> dale@mks.com (Dale Gass) writes: >However, since the DOS calls are dynamically linked, the mere external >reference to DosQFAttach in the executable causes the program execution >to fail at load time. > >What I require, is a portable way (i.e. works on OS/2 1.1, 1.2) to >determine whether a drive is a HPFS file system, without using calls >that are unsupported in version 1.1. > In one of my programs, I have exactly the same problem. Currently, I use DosGetModuleHandle() and DosGetProcAddress() to obtain the address of the DosQFSAttach() call, which is DOSCALLS.182 (ordinal). I do this only if the OS version is 1.2 or higher. I did not yet test the program under 1.1 but I am not very optimistic that it will run. Apparently, the linker puts in some version number from DOSCALLS.LIB/OS2.LIB which prevents loading of some programs under 1.1 when they were linked using the 1.1 tools. Kai Uwe Rommel -- /* Kai Uwe Rommel * Munich * rommel@lan.informatik.tu-muenchen.dbp.de */