ReadRange

Parties de document, données variables, édition de documents

Description

Lit une plage d'octets au travers d'une TCallbackByteRangeSource dans un tampon fourni par l'appelant en transmettant au callback de lecture

Syntaxe

Function TCallbackByteRangeSource.ReadRange(StartOffset: Int64;
  Count: LongInt; Buffer: PAnsiChar): LongInt;

Paramètres

StartOffsetDécalage à base zéro du premier octet à lire
CountNombre d'octets demandés
BufferTampon de l'appelant qui reçoit les octets demandés

Remarques

La requête est rejetée quand aucun callback de lecture n'est affecté, Buffer vaut Nil, Count vaut zéro ou négatif, StartOffset est négatif ou StartOffset atteint la taille totale

Une requête qui dépasse la taille totale est bornée aux octets restants au lieu d'être rejetée

Un résultat de callback inférieur à zéro est traité comme zéro, et un résultat supérieur au comptage borné est réduit au comptage

Le message d'erreur enregistré pour une requête rejetée ou une exception de callback est disponible via GetLastError

Valeurs de retour

0La demande était invalide, le callback de lecture a levé une exception ou le callback n'a transféré aucun octet ; GetLastError décrit l'échec lorsqu'un message a été enregistré
PositiveNombre d'octets réellement lus, jamais plus que la demande bornée

Voir aussi

GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource