THPDFRandomAccessSource.ReadAt Method
Читает Count байт, начиная с указанного отсчитываемого от нуля Offset, в 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по абсолютным смещениям, поэтому реализация должна принимать любое значениеOffsetвплоть доGetSize - 1 - Возврат более
Countбайт является нарушением контракта; возвращайте ровно доступное число байт в пределахCount