Функция DeviceIoControl() работает по-разному в Windows 7 и Windows 8
Я пытаюсь получить серийный номер жесткого диска с помощью функции DeviceIoControl. И вызывая его с одинаковыми параметрами, он дает другое значение в буфере вывода.
Я оцениваю это как
if ( DeviceIoControl (hPhysicalDriveIOCTL, IOCTL_STORAGE_QUERY_PROPERTY,
& query,
sizeof (query),
& buffer,
sizeof (buffer),
& cbBytesReturned, NULL) )
где hPhysicalDriveIOCTL = CreateFile (TEXT(имя устройства), 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);