Quarantena degli Object Stream

Un contenitore /Type /ObjStm corrotto non sparisce più in silenzio: il passaggio di tipo 2 lo mette in quarantena con un motivo, una riga diagnostica e i numeri degli oggetti membri rimasti irrisolti, mentre ogni contenitore indipendente continua a caricarsi e il caricamento del documento in sé va comunque a compimento

Motivi di quarantena

THPDFObjStmQuarantineReason distingue osqrNotAStream, osqrBadDictionary, osqrBadHeader (/N o /First non validi), osqrBadStreamSize, osqrDecryptFailed, osqrDecompressFailed, osqrFirstOutOfRange, osqrHeaderUnparsable, osqrContainerException e il member-level osqrMemberUnparsable per i corpi che non riescono a essere estratti da un contenitore decodificato con successo senza toccare i loro fratelli

Diagnostica

GetLoadedQuarantinedObjStmCount e GetLoadedQuarantinedObjStmInfo restituiscono ogni record con il numero dell'oggetto contenitore, il motivo, il testo diagnostico e i numeri dei membri irrisolti; i record si accumulano tra i tentativi di recovery di un singolo caricamento (deduplicati per contenitore) e si cancellano solo al successivo avvio di caricamento