Karanténa ObjStm

Porušený kontejner /Type /ObjStm už bezděčně nezmizí: průchod typem 2 jej zařadí do karantény s příčinou, diagnostickým řádkem a čísly členských objektů, které zůstaly nevyřešené, zatímco každý nezávislý kontejner se dál načítá a samotné načtení dokumentu se stále dokončí

Důvody karantény

THPDFObjStmQuarantineReason rozlišuje osqrNotAStream, osqrBadDictionary, osqrBadHeader (neplatné /N nebo /First), osqrBadStreamSize, osqrDecryptFailed, osqrDecompressFailed, osqrFirstOutOfRange, osqrHeaderUnparsable, osqrContainerException a členskou úroveň osqrMemberUnparsable pro těla, která nelze parsovat z úspěšně dekódovaného kontejneru, aniž by to ovlivnilo jejich sourozence

Diagnostika

GetLoadedQuarantinedObjStmCount a GetLoadedQuarantinedObjStmInfo vrátí každý záznam s číslem kontejnerového objektu, příčinou, diagnostickým textem a nevyřešenými čísly členů; záznamy se kumulují přes opakované pokusy o obnovu jednoho načtení (s deduplikací na kontejner) a mažou se až při dalším vstupu do načítání