Help!!!
- Posted by John Kinsey <jkinsey at BELLSOUTH.NET> Feb 12, 1999
- 443 views
This win32 C++ function call is kicking my butt! I just cannot figure this stuff out. Can someone tell me what I am doing wrong or what I am missing please correct my code. see below.... I have tried everything that I know? All I want to do is get the total disk size and total free space on the drive. The function is for drives larger than 2.1GB on Win9x OSR2 and above and WinNT 4.0 and above. I think that it is a lack of knowledge in C and Win32 API on my part.... Any comments would be appreciate it. -------------- include dll.e include machine.e constant KERNEL32 = open_dll("kernel32") if KERNEL32 = 0 then puts(1,"Couldn't open kernel32.dll.\n") abort(1) end if object C_GetDiskFreeSpaceEx = C_POINTER},C_LONG) global function GetDiskFreeSpaceEx(atom dirname) atom diskqouta, totdisksize, totdiskfree sequence freespace object diskinfo diskqouta = allocate(8) totdisksize = allocate(8) totdiskfree = allocate(8) diskinfo = c_func(C_GetDiskFreeSpaceEx,{dirname, diskqouta, totdisksize, totdiskfree}) freespace = peek4u(totdiskfree, 2) free(diskqouta) free(totdisksize) free(totdiskfree) return freespace end function atom totdiskinfo, volname volname = allocate_string("C:\\") totdiskinfo = GetDiskFreeSpaceEx(volname) puts(1, totdiskinfo) ----------- Thanks, JKinsey