THPDFObjStmQuarantineReason Type
type-2 xref 로딩 패스에서 /Type /ObjStm 컨테이너가 격리된 이유를 보고합니다(Roadmap 010)
선언
THPDFObjStmQuarantineReason= (osqrNotAStream, osqrBadDictionary,
osqrBadHeader, osqrBadStreamSize, osqrDecryptFailed,
osqrDecompressFailed, osqrFirstOutOfRange, osqrHeaderUnparsable,
osqrContainerException, osqrMemberUnparsable);
유닛
HPDFDoc
값
| 값 | 의미 |
|---|---|
osqrNotAStream | 컨테이너 객체가 없거나 stream 객체가 아닙니다 |
osqrBadDictionary | 컨테이너 사전 또는 스트림 페이로드가 없습니다 |
osqrBadHeader | /N 또는 /First 항목이 잘못됐습니다(양수 아님, 0, 또는 비정상적으로 큼) |
osqrBadStreamSize | 컨테이너 스트림 크기가 비어 있거나 지원 최대치를 넘습니다 |
osqrDecryptFailed | 암호화된 컨테이너를 복호화하지 못했습니다(crypt filter를 쓸 수 없거나 AES/RC4 복호화 실패) |
osqrDecompressFailed | 필터 디코딩이 컨테이너에 대해 출력을 내지 않았습니다 |
osqrFirstOutOfRange | /First 오프셋이 디코딩된 컨테이너 바이트를 넘어섭니다 |
osqrHeaderUnparsable | 디코딩된 헤더에서 객체 번호/오프셋 쌍이 하나도 나오지 않았습니다 |
osqrContainerException | 컨테이너를 디코딩하는 동안 예상 못한 예외가 발생해, 패스를 중단하는 대신 격리했습니다 |
osqrMemberUnparsable | 컨테이너는 잘 디코딩됐지만 한 멤버 본문의 파싱이 실패했습니다. 형제 멤버는 독립적으로 유지됩니다 |
사용 참고 사항
- 사유는 격리된 object-stream info API가 반환하는 THPDFObjStmQuarantineInfo 레코드의 Reason 필드에 나타나며, diagnostic 문자열과 미해결 멤버 객체 번호가 함께 실립니다
- 격리는 실패 고립입니다. 독립적인 컨테이너는 계속 로드되고, 영향받은 멤버만 유실로 보고됩니다
- 컨테이너 수준 사유는 복구 재시도에 걸쳐 컨테이너별로 dedup되지만, osqrMemberUnparsable 레코드는 멤버 수준이라 영향받은 멤버마다 반복됩니다