THPDFRandomAccessSource.ReadAt メソッド
指定されたゼロベースの Offset から始まる Count バイトを Buffer に読み込みます
宣言
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
ユニット
HPDFDoc
パラメータ
| 名前 | 目的 |
|---|---|
Offset | 読み取りを開始するゼロベースのバイトオフセット。GetSize が報告する範囲内でなければなりません |
Buffer | バイトを受け取る型なしの var バッファ。呼び出し側は少なくとも Count バイトを保持できることを保証します |
Count | 転送する最大バイト数 |
戻り値
実際に転送されたバイト数(ゼロから Count まで)。文書化されたファイル終端でのショートリードはエラーではなくストリーム終端として扱われます
使用上の注意
- サブクラスでこのメソッドをオーバーライドして、バッキングストア(HTTP 範囲リクエスト、データベースの
SELECT ... OFFSET、アーカイブメンバースライス、仮想ボリュームマッピング)からオンデマンドでバイトを取得します - HotPDF は絶対オフセットで
ReadAtを呼び出すことでクロスリファレンステーブルとオブジェクトストリームをシークするため、実装はGetSize - 1までの任意のOffsetを尊重しなければなりません Countを超えるバイトを返すことは契約違反です。Countまでの利用可能なバイトを正確に返してください