THPDFXRefRecoveryInfo Record
有界交叉參照復原的結果:狀態、方法、掃描量、候選數與選定的 xref 偏移
宣告
THPDFXRefRecoveryInfo= record
Status: THPDFXRefRecoveryStatus;
Method: THPDFXRefRecoveryMethod;
BytesScanned: Int64;
CandidateObjectCount: Integer;
RecoveredObjectCount: Integer;
DuplicateObjectCount: Integer;
RejectedCandidateCount: Integer;
XRefCandidateCount: Integer;
SelectedXRefOffset: Int64;
Diagnostic: AnsiString;
end;
單元
HPDFDoc
欄位
| 欄位 | 用途 |
|---|---|
Status | 復原結論:不需要、成功、已停用、撞到掃描/物件/xref 上限,或失敗 |
Method | 表的復原方式:搬移既有 section,或完整重建物件偏移 |
BytesScanned | 有界掃描檢查過的檔案位元組數 |
CandidateObjectCount | 掃描的位元組範圍內找到的物件候選數 |
RecoveredObjectCount | 被接受進重建交叉參照表的候選數 |
DuplicateObjectCount | 對應已復原物件編號的重複候選數 |
RejectedCandidateCount | 因不可用而丟棄的候選數 |
XRefCandidateCount | 掃描時找到的完整 xref section 數 |
SelectedXRefOffset | 選來重建的 xref section 偏移,或被搬移 section 的位置 |
Diagnostic | 描述復原如何收場的文字 |
使用說明
- 用
GetLoadedXRefRecoveryInfo填入;Status仍是xrrsNotNeeded時回傳 false,亦即正常的規格優先載入路徑已成功 - 只有在正常載入無法產出真實頁面樹時才會執行復原,無論是失敗還是被復原模式強制
- 使用
GetLoadedParserRecoveryEvents追蹤完整的決策過程,這些事件會記錄每一次候選項目的接受、拒絕與超出上限,正是上述總數背後的依據