| Предыдущий | Следующий |
| ERROR_SECURITY_STREAM_IS_INCONSISTENT | ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT |
ERROR_INVALID_LOCK_RANGE
Запрошенный диапазон блокировки файла недопустим
ERROR_INVALID_LOCK_RANGE возвращается, когда смещение и длина, переданные API блокировки, не описывают допустимый диапазон байтов. Частыми причинами являются переполнение, преобразование в отрицательное знаковое значение или выход диапазона за поддерживаемый предел.
Что проверить
- Запишите начальное смещение и длину до запроса блокировки.
- Проверьте преобразования между 32- и 64-разрядными значениями и арифметическое переполнение.
- Убедитесь, что при снятии блокировки используется точно тот же диапазон, который был успешно заблокирован.
- Проверьте, что целевой дескриптор относится к обычному файлу, поддерживающему блокировки диапазонов байтов.
Исправление
Проверяйте арифметику диапазона до вызова API и заранее отклоняйте невозможные интервалы. Повтор с неизменными параметрами не сделает недопустимый диапазон приемлемым.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.