Запись THPDFXRefIntegrityInfo
Здоровье таблицы перекрёстных ссылок: счётчики записей, состояние free chain, невалидные типы, дубликаты и затенённые определения
Объявление
THPDFXRefIntegrityInfo= record
EntryCount: Integer;
FreeEntryCount: Integer;
FreeChainLength: Integer;
UnlinkedFreeEntryCount: Integer;
InvalidFreeLinkCount: Integer;
FreeCycleCount: Integer;
InvalidEntryTypeCount: Integer;
GenerationTransitionErrorCount: Integer;
DuplicateDefinitionCount: Integer;
ShadowedDefinitionCount: Integer;
DroppedShadowedDetailCount: Integer;
Valid: boolean;
Diagnostic: AnsiString;
ShadowedEntries: THPDFXRefShadowedEntryArray;
end;
Модуль
HPDFDoc
Поля
| Поле | Назначение |
|---|---|
EntryCount | Сумма записей по объединённым секциям перекрёстных ссылок; ноль означает, что данных о целостности нет |
FreeEntryCount | Записи, помеченные свободными (тип f) |
FreeChainLength | Длина цепочки free list, достижимой от объекта ноль |
UnlinkedFreeEntryCount | Свободные записи, которые существуют, но недостижимы через free chain |
InvalidFreeLinkCount | Свободные записи, чья ссылка в духе /Next указывает на несвободную запись |
FreeCycleCount | Циклы, обнаруженные при обходе free chain |
InvalidEntryTypeCount | Записи, чей байт типа не является ни занятым, ни свободным |
GenerationTransitionErrorCount | Переходы из занятых в свободные, чьи номера поколений ломают правило mod-65536 |
DuplicateDefinitionCount | Номера объектов, определённые более одного раза по ревизиям |
ShadowedDefinitionCount | Дубликаты определений, чья старая копия проиграла новейшей ревизии |
DroppedShadowedDetailCount | Затенённые записи, чьи полные детали не удалось сохранить в ShadowedEntries |
Valid | True, если объединённая таблица прошла все структурные проверки |
Diagnostic | Текст, описывающий первый найденный класс проблем |
ShadowedEntries | Подробности по каждой затенённой записи: активный и затенённый тип, смещение, поколение и ревизия |
Примечания по использованию
- Заполняйте методом
GetLoadedXRefIntegrityInfo: он возвращает false, когда загруженный документ не давал сканирования целостности FreeCycleCountиInvalidFreeLinkCountбольше нуля означают, что free list нужно чинить до любого инкрементального сохраненияShadowedEntries— доказательная база дляShadowedDefinitionCount; сопоставьте её сTHPDFXRefMergeInfo, чтобы увидеть, какой приоритет ревизий дал победителя