__int64 i64FreeBytes
unsigned __int64 lpFreeBytesAvailableToCaller,
lpTotalNumberOfBytes,
lpTotalNumberOfFreeBytes; // variables used to obtain
// the free space on the drive
GetDiskFreeSpaceEx (Manager.capDir,
(PULARGE_INTEGER)&lpFreeBytesAvailableToCaller,
(PULARGE_INTEGER)&lpTotalNumberOfBytes,
(PULARGE_INTEGER)&lpTotalNumberOfFreeBytes);
i64FreeBytes = lpTotalNumberOfFreeBytes;
_tprintf(_T ("Number of bytes free on the drive:%I64u \n"),
lpTotalNumberOfFreeBytes);
Я работаю над процедурой управления данными, которая является приложением командной строки Windows CE. Приведенный выше код показывает, как я получаю количество свободных байтов на конкретном диске, который содержит папку Manager.capdir (это переменная, содержащая полный путь к каталогу).
Мой вопрос заключается в том, что количество свободных байтов, о которых сообщалось в приведенном выше коде (оператор _tprintf), не совпадает с количеством свободных байтов накопителя (который я проверяю, щелкая правой кнопкой мыши на накопителе).
Я хотел бы знать, если причина этой разницы?