HPDFTransferStream Function
Trasferisce i byte dalla posizione corrente della sorgente alla posizione corrente della destinazione ed evita una copia intermedia per i tipi di archiviazione supportati
Dichiarazione
function HPDFTransferStream(
Source, Destination: TStream;
Count: Int64 = -1): Int64;
Unit
HPDFObjs
Percorsi di trasferimento
TMemoryStreamscrive direttamente dal proprio puntatore di appoggio senza allocare un buffer di trasferimentoTFileStreamscrive direttamente da viste mappate in sola lettura limitate e ripiega automaticamente quando la mappatura non è disponibileTHPDFMappedFileStreameTHPDFLazyFileStreamcon appoggio sulla sorgente scrivono direttamente dalle finestre mappate residenti- Gli stream ad accesso casuale delegano a
THPDFRandomAccessSource.TransferAt, mentreTHPDFCoalescingRandomAccessSourcescrive direttamente i blocchi di cache conservati - Le altre classi di stream usano un buffer di fallback limitato di 64 KiB
Count e posizioni
Un Count di -1 trasferisce tutti i byte rimanenti dalla posizione corrente della sorgente, zero non trasferisce nulla e un valore positivo viene limitato ai byte disponibili; i valori inferiori a -1 vengono rifiutati
Entrambe le posizioni degli stream avanzano del numero di byte restituiti; sorgente e destinazione devono essere oggetti non-nil diversi
Integrazione dello scrittore PDF
I body dei flussi PDF non cifrati, l'output decodificato senza filtri, l'esportazione delle immagini caricate grezze, la materializzazione degli stream lazy e lo spill adattivo degli stream temporanei usano automaticamente questo livello di trasferimento
I body di flusso cifrati richiedono ancora uno staging della trasformazione perché i loro byte e la lunghezza cambiano prima della serializzazione