ReadRange

Dokumentteile, variable Daten, Dokumentbearbeitung

Beschreibung

Liest einen Bytebereich über eine TCallbackByteRangeSource in einen vom Aufrufer gelieferten Puffer, indem an den Lese-Callback weitergeleitet wird

Syntax

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

Parameter

StartOffset0-basierter Offset des ersten zu lesenden Bytes
CountAngeforderte Byteanzahl
BufferAufruferpuffer, der die angeforderten Bytes empfängt

Hinweise

Die Anfrage wird abgelehnt, wenn kein Lese-Callback zugewiesen ist, Buffer Nil ist, Count null oder negativ ist, StartOffset negativ ist oder StartOffset die Gesamtgröße erreicht

Eine Anfrage, die über die Gesamtgröße hinausgeht, wird auf die verbleibenden Bytes begrenzt statt abgelehnt

Ein Callback-Ergebnis unter null wird als null behandelt, und ein Ergebnis über der begrenzten Anzahl wird auf die Anzahl reduziert

Die für eine abgelehnte Anfrage oder eine Callback-Ausnahme protokollierte Fehlermeldung ist über GetLastError verfügbar

Rückgabewerte

0Die Anforderung war ungültig, der Lese-Callback hat eine Exception ausgelöst, oder der Callback hat keine Bytes übertragen; GetLastError beschreibt den Fehler, sofern eine Meldung aufgezeichnet wurde
PositiveAnzahl der tatsächlich gelesenen Bytes, niemals mehr als die begrenzte Anforderung

Siehe auch

GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource