Método THPDFRandomAccessSource.ReadAt
Lê Count bytes começando no Offset de base zero fornecido para Buffer
Declaração
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
Unit
HPDFDoc
Parâmetros
| Nome | Finalidade |
|---|---|
Offset | Deslocamento de bytes de base zero no qual iniciar a leitura; deve estar dentro do intervalo informado por GetSize |
Buffer | Buffer var sem tipo que recebe os bytes; o chamador garante que ele possa armazenar pelo menos Count bytes |
Count | Número máximo de bytes a transferir |
Valor de retorno
O número de bytes realmente transferidos, de zero até Count. Uma leitura curta no final do arquivo documentado é tratada como fim de fluxo, não como erro
Notas de uso
- Sobrescreva este método em uma subclasse para buscar bytes sob demanda do seu armazenamento de suporte (solicitação de intervalo HTTP,
SELECT ... OFFSETde banco de dados, fatia de membro de arquivo, mapeamento de volume virtual) - O HotPDF percorre as tabelas de referência cruzada e os fluxos de objetos chamando
ReadAtem deslocamentos absolutos, então a implementação deve honrar qualquerOffsetatéGetSize - 1 - Retornar mais que
Countbytes é uma violação de contrato; retorne exatamente os bytes disponíveis atéCount