ReadRange

Partes de documento, datos variables, edición de documentos

Descripción

Lee un rango de bytes a través de un TCallbackByteRangeSource en un búfer suministrado por el llamador reenviando a la devolución de llamada de lectura

Sintaxis

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

Parámetros

StartOffsetDesplazamiento, con base cero, del primer byte a leer
CountNúmero de bytes solicitados
BufferBúfer del llamador que recibe los bytes solicitados

Observaciones

La petición se rechaza cuando no hay retrollamada de lectura asignada, Buffer es Nil, Count es cero o negativo, StartOffset es negativo o StartOffset alcanza el tamaño total

Una petición que sobrepasa el tamaño total se acota a los bytes restantes en lugar de rechazarse

Un resultado de retrollamada menor que cero se trata como cero, y uno mayor que el recuento acotado se reduce al recuento

El mensaje de error registrado para una petición rechazada o una excepción de retrollamada está disponible por medio de GetLastError

Valores devueltos

0La solicitud no era válida, la devolución de llamada de lectura lanzó una excepción o la devolución de llamada no transfirió ningún byte; GetLastError describe el fallo cuando se registró un mensaje
PositiveNúmero de bytes realmente leídos, nunca más que la solicitud ajustada

Véase también

GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource