1 #include <precomp.h> 2 #include <ctype.h> 3 #include <direct.h> 4 5 6 /* 7 * @implemented 8 */ 9 unsigned int _getdiskfree(unsigned int _drive, struct _diskfree_t* _diskspace) 10 { 11 char RootPathName[10]; 12 13 RootPathName[0] = toupper(_drive +'@'); 14 RootPathName[1] = ':'; 15 RootPathName[2] = '\\'; 16 RootPathName[3] = 0; 17 if (_diskspace == NULL) 18 return 0; 19 if (!GetDiskFreeSpaceA(RootPathName,(LPDWORD)&_diskspace->sectors_per_cluster,(LPDWORD)&_diskspace->bytes_per_sector, 20 (LPDWORD )&_diskspace->avail_clusters,(LPDWORD )&_diskspace->total_clusters)) 21 return 0; 22 return _diskspace->avail_clusters; 23 } 24