TByteRangeStream.ReadAt

إدارة المستندات، الأداء، التزامن

الوصف

تقرأ بايتات عند إزاحة مصدر مطلقة دون تغيير مؤشر TStream الموضعييتقاسم المستدعي المتزامنون جلبًا جاريًا واحدًا للمقطع المحاذى نفسه، بينما تُجلب المقاطع المجاورة المنتظرة معًا في طلب مصدر واحد محدود

الصيغة

Delphi

Function TByteRangeStream.ReadAt(Offset: Int64; Var Buffer; Count: LongInt): LongInt;

المعاملات

Offsetإزاحة المصدر المطلقة ذات الأساس صفر
Bufferوجهة البايتات المُرجعة
Countالحد الأقصى لعدد البايتات التي ستُقرأ

قيم الإرجاع

0الإزاحة أو العدد غير صالح أو الإزاحة عند نهاية المصدر أو بعدها أو فشل طلب المصدر
>0عدد البايتات المنسوخة إلى Buffer

ملاحظات

يُعرَّف TByteRangeStream في PDFlibNetPDF ويقبل بانيه CoalesceWindowMS التي تكون افتراضيًا ملّي ثانيتينتُطبق النافذة على أول مقطع غير مخزن مؤقتًا من كل نداء

ReadAt فقط؛ وتستمر المقاطع اللاحقة فورًا، ولا تنتظر نداءات Read الموضعية النافذةتعطّل قيمة الصفر تأخير التجميع الأولي مع الحفاظ على مشاركة الطيران الواحد للمقطع نفسه ودمج الطلبات المنتظرة سلفًا خلف قراءة مصدر أخرىيُسقف جلب المصدر المدموج الواحد عند 16 MiB، وتُسلسل دوال استدعاء المصدر فلا تحتاج تنفيذات دوال الاستدعاء إلى قفل نقل خاص بهالا تستدعِ من جديد التيار نفسه من دالة استدعاء مصدره، وأتلف التيار فقط بعد اكتمال جميع القراء النشطينيبطل

ClearCache جيل الذاكرة المؤقتة؛ وما يزال المستدعي المنتظرون سلفًا يتلقون بايتاتهم، لكن لا تستطيع الإكمالات القديمة إعادة تعبئة الذاكرة المؤقتة أو العدادات الممسوحة