SET PROCEDURE TO MEMMGR ADDITIVE >oHeap = CREATEOBJ('Heap') >LOCAL n3PU_LARGE_Values, cBuffer >n3PULARGE_Values = oHeap.AllocInitAs(24,CHR(0)) >DECLARE INTEGER GetDiskFreeSpaceEx IN Win32API ; > STRING @ lpDirectoryName, ; > INTEGER lpFreeBytesAvailable, ; > INTEGER lpTotalNumberOfBytes, ; > INTEGER lpTotalNumberOfFreeBytes >IF GetDiskFreeSpaceEx('C:\', ; > n3PULARGE_Values,; > n3PULARGE_Values+8, ; > n3PULARGE_Values+16) # 0 > cBuffer = oHeap.CopyFrom(n3PULARGE_Values) > ? 'Free bytes', ConvertULARGE(SUBST(cBuffer,1,8)) > ? 'Tot. bytes', ConvertULARGE(SUBST(cBuffer,9,8)) > ? 'Free bytes', ConvertULARGE(SUBST(cBuffer,17,8)) >ENDIF >oHeap.DeAlloc(n3PULARGE_Values) >oHeap = '' > >FUNCTION ConvertULARGE >LPARAMETER tcULARGE >LOCAL nCtr, nValue >nValue = 0 >FOR nCtr = 8 TO 1 STEP -1 > nValue = (nValue * 256) + ASC(SUBST(tcULARGE,nCtr,1)) >ENDFOR >RETURN nValue>