| Предыдущий | Следующий |
| STATUS_CONNECTION_ABORTED | STATUS_USER_MAPPED_FILE |
STATUS_BAD_COMPRESSION_BUFFER
Буфер сжатия невозможно безопасно декодировать
Этот статус относится к закодированному буферу, переданному пути сжатия или файловой системы. Усечённые фрагменты, неправильные заголовки, невозможные смещения или данные другого формата могут сделать поток недекодируемым до изменения файла назначения.
Не предполагайте, что увеличение выходного буфера исправит повреждённые сжатые данные. Сохраните входные байты, идентификатор формата и ожидаемый несжатый размер, чтобы отличить повреждение от нарушения контракта API.
Что проверить
- Проверьте формат сжатия и границы блоков, используемые производителем и потребителем.
- Проверяйте входную длину и ожидаемый выходной размер арифметикой, защищённой от переполнения.
- Сравните байты с заведомо исправным источником до попытки восстановления или резервного декодирования.
Ссылки
- Microsoft: FSCTL_SET_COMPRESSION
- Microsoft: FSCTL_GET_COMPRESSION
- NTFS-3G: прозрачно сжатые файлы NTFS
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.