Метод THPDFRandomAccessSource.TransferAt
Копирует байты начиная с Offset в целевой поток блоками по 64 КБ и возвращает число переданных байтов
Объявление
function TransferAt(Offset, Count: Int64;
Destination: TStream): Int64; virtual;
Модуль
HPDFDoc
Параметры
| Имя | Назначение |
|---|---|
Offset | Отсчитываемое от нуля байтовое смещение, с которого начинать чтение |
Count | Число байтов к передаче, ограничено байтами, оставшимися после Offset |
Destination | Поток, принимающий скопированные байты; не должен быть nil |
Возвращаемое значение
Число байтов, фактически записанных в Destination; ноль, когда Offset отрицателен, Count не положителен или Offset находится на размере источника или за ним
Примечания по использованию
- Возбуждает
EArgumentNilException, когдаDestinationравен nil, иEStreamError, когда базовыйReadAtсообщает недопустимое число порций - Цикл копирования останавливается досрочно, когда
ReadAtвозвращает ноль байтов, поэтому короткие источники передают только то, что есть - Переопределяйте в производных источниках, чтобы стримить кэшированные или сетевые данные без промежуточного буфера