THPDFObjStmQuarantineReason Type
回報 /Type /ObjStm 容器在 type-2 xref 載入階段被隔離的原因 (Roadmap 010)
宣告
THPDFObjStmQuarantineReason= (osqrNotAStream, osqrBadDictionary,
osqrBadHeader, osqrBadStreamSize, osqrDecryptFailed,
osqrDecompressFailed, osqrFirstOutOfRange, osqrHeaderUnparsable,
osqrContainerException, osqrMemberUnparsable);
單元
HPDFDoc
值
| 值 | 意義 |
|---|---|
osqrNotAStream | 容器物件遺失,或不是串流物件 |
osqrBadDictionary | 容器字典或串流承載遺失 |
osqrBadHeader | /N 或 /First 項目無效(非正值、零或大得不合理) |
osqrBadStreamSize | 容器串流大小為空,或超出支援的最大值 |
osqrDecryptFailed | 加密容器無法解密(加密過濾器不可用,或 AES/RC4 解密失敗) |
osqrDecompressFailed | 過濾器解碼未為容器產生任何輸出 |
osqrFirstOutOfRange | /First 偏移超出解碼後的容器位元組 |
osqrHeaderUnparsable | 解碼後的標頭解析不出任何物件編號/偏移配對 |
osqrContainerException | 解碼容器時引發非預期例外,因此予以隔離,而不是中止整個階段 |
osqrMemberUnparsable | 容器解碼正常,但某個成員主體解析失敗;其他成員不受影響 |
使用說明
- 原因出現在透過已隔離物件串流資訊 API 傳回的 THPDFObjStmQuarantineInfo 記錄之 Reason 欄位,同時附有診斷字串與尚未解析的成員物件編號
- 隔離是一種失敗隔離機制:各自獨立的容器繼續載入,只有受影響的成員會被回報為遺失
- 容器層級的原因在重試復原期間按容器去重複,而 osqrMemberUnparsable 記錄屬於成員層級,每個受影響成員各記一筆