[comp.os.msdos.programmer] MSC 6.0 <-> DOS Question

bank@lea.ncsu.edu (Dave The DM) (09/29/90)

     I am having a bit of trouble with a Microsoft C 6.0 program and
MS-DOS 4.01 and I'd appreciate anyone with experience here to take a
look at this and perhaps help me out. 

     I have written an installation program for a commercial software
system I have been writing under contract. This installation program 
verifies source and target drives, checks for free disk space on the
latter (there's where my problem is), checks conventional RAM,
monitor and adapter, serial ports and modems, and printer ports and
installed printers. This information is used to create a configuration
file for the software product.
 
     The program, compiled under Microsoft C 6.0, runs fine on my
PS/2 Mod 70 (running PC-DOS 3.3 and no partitions greater than 32 MB).
It runs fine on my old IBM PC-1 (running DOS 3.1 with 2 ST-225 20 MB
hard drives). It runs fine on a Northgate clone (MS-DOS 3.2, partitions
under 32 MB) and on Zenith and Toshiba laptops (all running MS/PC-DOS
3.3 or earlier).
 
    However, the program, for some reason, thinks that a clone (AMI
BIOS) running MS-DOS 4.01 with partitions over 32 MB has NO hard drive
space available (this is an error condition for the installation
program, as you might imagine).
 
    I determine free target drive space using the MS C function
"_dos_getdiskfree"  This function accepts two parameters. One is a
drive identifier (I test this for validity before I get to this point)
and the other is a pointer to a predefined structure (defined in DOS.H,
I think) that will contain the information the function gets.
 
    The function uses DOS INT 36h to get its information. According to
my "Waite Group's MS-DOS Developer's Guide" (Second Edition), this

service is standard all the way thru DOS 4.0 and no mention is made
of any change in functionality or caveats for big partitions. CHKDSK,
by the way (on the computer where we're having problems), reports 
plenty of hard drive space.
 
    If anyone has any ideas regarding this, I'd like to hear them.
This problem has me stumped, as the program performs flawlessly on
almost every configuration we've tried it on.
 
    Thanks, in advance, for your assistance.

                                             Dave the DM
                                             bank@lea.csc.ncsu.edu
                                             (aka Dave Bank)