קיים לי HD על המחשב , מחולק לפרטישיינים, אני רוצה לבדוק כמה מקום יש לי בכול כונן בשביל לדעת לאן להעתיק את הקבצים.משום מה התוכנית מחזירה לי ערכים לא נכונים..
יש למישהו רעיון?
LPCWSTR pszDrive = "D:\\Newfolder"; BOOL test, fResult; __int64 lpFreeBytesAvailable, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes; DWORD dwSectPerClust, dwBytesPerSect, dwFreeClusters, dwTotalClusters; test = GetDiskFreeSpaceEx( pszDrive, (PULARGE_INTEGER)&lpFreeBytesAvailable, (PULARGE_INTEGER)&lpTotalNumberOfBytes, (PULARGE_INTEGER)&lpTotalNumberOfFreeBytes ); printf("Total number of free bytes on disk: %ul\n", lpTotalNumberOfFreeBytes); printf("Total number of free bytes available for user-caller: %ul\n", lpFreeBytesAvailable); printf("Total number of bytes available for user: %ul\n", lpTotalNumberOfBytes); fResult = GetDiskFreeSpace(pszDrive, &dwSectPerClust, &dwBytesPerSect, &dwFreeClusters, &dwTotalClusters); printf("\nUsing GetDiskFreeSpace()...\n"); printf("The return value: %d, error code: %d\n", fResult, GetLastError()); printf("Sector per cluster = %ul\n", dwSectPerClust); printf("Bytes per sector = %ul\n", dwBytesPerSect); printf("Free cluster = %ul\n", dwFreeClusters); printf("Total cluster = %ul\n", dwTotalClusters); // Using GetDiskFreeSpace() need some calculation for the free bytes on disk printf("Total free bytes = %ul\n", (dwFreeClusters*dwSectPerClust*dwBytesPerSect));
|
התוצאות שהוא מחזיר לי , לא תואם את המקום הפנוי שיש לי על הדסיקים.
מישהו התנסה עם זה?
תודה!
