Как рассчитать количество байтов в секторе жесткого диска - PullRequest
0 голосов
/ 04 марта 2020

Я хочу знать, как рассчитать количество байтов в секторе жесткого диска

1 Ответ

0 голосов
/ 05 марта 2020

Для Linux вы можете использовать следующую команду:

# cat /sys/block/sda/queue/hw_sector_size
512

Где / dev / sda - имя вашего жесткого диска.

Для Windows вы можете использовать IOCTL: IOCTL_DISK_GET_DRIVE_GEOMETRY https://docs.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-ioctl_disk_get_drive_geometry

Пример кода для Windows:

{
    DISK_GEOMETRY diskGeometry;
    GET_LENGTH_INFORMATION lengthInfo;
    DWORD bytesReturned;
    BOOL ret;

    ret = DeviceIoControl( 
                          hDevice, // file handle to the physical device
                          IOCTL_DISK_GET_DRIVE_GEOMETRY, 
                          NULL,
                          0,
                          &diskGeometry,
                          sizeof(DISK_GEOMETRY),
                          &bytesReturned,
                          NULL);
    if (TRUE != ret) {
       // Log error and exit
    }

    bytesPerSector = diskGeometry.BytesPerSector;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...