Ошибка WriteFile с кодом ошибки 87 в 4096 байт на сектор диска

WriteFile () Win32 вызов с размером входного буфера = 512 Сбой., Когда я пытаюсь записать на диск, который имеет байтов на сектор = 4096. [диск 3 ТБ]. Тот же WriteFile с размером входного буфера = 4096 работает нормально.,

Может ли любое тело объяснить это поведение?

0

Решение

Для низкоуровневых операций ввода-вывода ваш буфер должен быть целым числом, кратным размеру сектора. В твоем случае, k*4096, Скорее всего, ваш жесткий диск не был изготовлен давно. Они называются «расширенный формат» и имеют 4096 байт на сектор. Мой не возражает, если я установлю его на 512, потому что он старый. Попробуйте использовать GetDiskFreeSpace функция, чтобы узнать больше о вашем жестком диске.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]