Тип THPDFObjStmQuarantineReason
Сообщает, почему контейнер /Type /ObjStm отправлен в карантин при проходе загрузки type-2 xref (Roadmap 010)
Объявление
THPDFObjStmQuarantineReason= (osqrNotAStream, osqrBadDictionary,
osqrBadHeader, osqrBadStreamSize, osqrDecryptFailed,
osqrDecompressFailed, osqrFirstOutOfRange, osqrHeaderUnparsable,
osqrContainerException, osqrMemberUnparsable);
Модуль
HPDFDoc
Значения
| Значение | Назначение |
|---|---|
osqrNotAStream | Объект-контейнер отсутствует или не является stream-объектом |
osqrBadDictionary | Словарь контейнера или полезная нагрузка потока отсутствует |
osqrBadHeader | Запись /N или /First некорректна (неположительная, нулевая или неправдоподобно большая) |
osqrBadStreamSize | Размер потока контейнера пуст или превышает поддерживаемый максимум |
osqrDecryptFailed | Зашифрованный контейнер не удалось расшифровать (недоступный crypt filter или неудачное расшифрование AES/RC4) |
osqrDecompressFailed | Декодирование фильтра не дало выходных данных для контейнера |
osqrFirstOutOfRange | Смещение /First лежит за пределами декодированных байтов контейнера |
osqrHeaderUnparsable | Декодированный заголовок не дал пар номер объекта/смещение |
osqrContainerException | При декодировании контейнера возникло непредвиденное исключение, поэтому он изолирован вместо прерывания прохода |
osqrMemberUnparsable | Контейнер декодировался успешно, но одно тело члена не разобралось; соседи остаются независимыми |
Примечания по использованию
- Причина появляется в поле Reason записей THPDFObjStmQuarantineInfo, возвращаемых API информации о карантинных object stream, вместе с диагностической строкой и неразрешёнными номерами объектов-членов
- Карантин — это изоляция сбоя: независимые контейнеры продолжают загружаться, а потерянными сообщаются только затронутые члены
- Причины уровня контейнера дедуплицируются по контейнеру между повторными попытками восстановления, а записи osqrMemberUnparsable имеют уровень члена и повторяются для каждого затронутого члена