对象流隔离

损坏的 /Type /ObjStm 容器不再静默消失:类型 2 遍历带原因、诊断行和其未解析的成员对象编号隔离它,而每个独立容器继续加载,文档加载本身仍完成

隔离原因

THPDFObjStmQuarantineReason 区分 osqrNotAStream、osqrBadDictionary、osqrBadHeader(无效 /N 或 /First)、osqrBadStreamSize、osqrDecryptFailed、osqrDecompressFailed、osqrFirstOutOfRange、osqrHeaderUnparsable、osqrContainerException 以及成员级 osqrMemberUnparsable(用于从成功解码的容器中解析失败且不影响其兄弟成员的正文)

诊断

GetLoadedQuarantinedObjStmCount 和 GetLoadedQuarantinedObjStmInfo 返回每条记录,带容器对象编号、原因、诊断文本和未解析成员编号;记录在一次加载的恢复重试间累积(按容器去重),并且只在下次加载进入时清除