int GetSectorSize(LPCWSTR Path) { wchar_t buf[MAX_PATH + 1] = { L"" }; DWORD SecPerClu, BytePerSec, NumFreeClu, TotalClu; UINT DriveType; if (GetFullPathName(Path, MAX_PATH, buf, NULL) == 0) { return 0; } if (!buf[0]) { return 0; } buf[3] = 0x00; DriveType = GetDriveType(buf); if (DriveType != DRIVE_FIXED && DriveType != DRIVE_REMOVABLE) { return 0; } if (GetDiskFreeSpace(buf, &SecPerClu, &BytePerSec, &NumFreeClu, &TotalClu)) { return ((int)BytePerSec); } return 0; }