สถานะวงจรชีวิตของออบเจ็กต์
ทุกออบเจ็กต์ในเอกสารที่โหลดมีสถานะวงจรชีวิตชัดเจนจาก THPDFObjectLifecycleState: olsRaw สำหรับสมาชิกที่บีบอัดซึ่งจัดทำดัชนีแต่ยังไม่สร้าง olsParsed สำหรับออบเจ็กต์ที่สร้างจากไบต์ต้นทางโดยไม่มีการแก้ไข olsDirty / olsMustWrite สำหรับออบเจ็กต์ที่แก้ไขหรือถูกกำหนดให้อัปเดต olsFlushed สำหรับออบเจ็กต์ที่จัดลำดับเข้าสู่เอกสารเอาต์พุตแล้ว และ olsReleased สำหรับออบเจ็กต์ที่บัฟเฟอร์รองรับถูกปลดปล่อย
การสอบถามสถานะ
GetLoadedObjectLifecycleState รายงานสถานะของเลขออบเจ็กต์ใดๆ โดยส่งคืน olsRaw สำหรับสมาชิกที่บีบอัดซึ่งเนื้อหายังไม่ถูกสร้าง GetLoadedObjectLifecycleStatistics รวบรวมจำนวนต่อสถานะรวมถึงฟิลด์ใหม่ RawCount ParsedCount และ FlushedCount THPDFObject.MarkRaw MarkParsed และ MarkFlushed ตั้งค่าสถานะอย่างชัดเจน
พฤติกรรมการบันทึก
เส้นทางการบันทึกเต็มย้ายทุกออบเจ็กต์ที่ปล่อยเป็น olsFlushed (ทั้งออบเจ็กต์ครอบและภายใน) สแนปช็อตธุรกรรมกราฟคืนสถานะที่บันทึกเมื่อย้อนกลับ และเส้นฐานการอัปเดตแบบเพิ่มทีละส่วนยังคงรีเซ็ตออบเจ็กต์เป็น olsClean เพื่อให้การแก้ไขที่ต่อท้ายมีเฉพาะรายการที่ทำสกปรกอย่างชัดเจน IsDirty คงความหมายเดิมของ olsDirty หรือ olsMustWrite สถานะใหม่จึงไม่ก่อให้เกิดการเขียนซ้ำเท็จ