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
StartOffset | 0-basierter Offset des ersten zu lesenden Bytes |
|---|---|
Count | Angeforderte Byteanzahl |
Buffer | Aufruferpuffer, 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
0 | Die 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 |
|---|---|
| Positive | Anzahl der tatsächlich gelesenen Bytes, niemals mehr als die begrenzte Anforderung |
Siehe auch
GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource