Что означает код ошибки Windows 307 (ERROR_INVALID_LOCK_RANGE)?

 
Также может означать:
КонстантаТипОС
HTTP_STATUS_TEMPORARY_REDIRECTHTTP-статусЛюбая
DPC_WATCHDOG_VIOLATIONКод BSODWindows
Предыдущий Следующий
ERROR_SECURITY_STREAM_IS_INCONSISTENT ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT

ERROR_INVALID_LOCK_RANGE

Запрошенный диапазон блокировки файла недопустим

ERROR_INVALID_LOCK_RANGE возвращается, когда смещение и длина, переданные API блокировки, не описывают допустимый диапазон байтов. Частыми причинами являются переполнение, преобразование в отрицательное знаковое значение или выход диапазона за поддерживаемый предел.

Что проверить

  • Запишите начальное смещение и длину до запроса блокировки.
  • Проверьте преобразования между 32- и 64-разрядными значениями и арифметическое переполнение.
  • Убедитесь, что при снятии блокировки используется точно тот же диапазон, который был успешно заблокирован.
  • Проверьте, что целевой дескриптор относится к обычному файлу, поддерживающему блокировки диапазонов байтов.

Исправление

Проверяйте арифметику диапазона до вызова API и заранее отклоняйте невозможные интервалы. Повтор с неизменными параметрами не сделает недопустимый диапазон приемлемым.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.