ReadRange
Dokumentdele, variabeldata, dokumentredigering
Beskrivelse
Læser et byteinterval via en TCallbackByteRangeSource ind i en kalderlevert buffer ved at videreføre til read-callbacken
Syntaks
Function TCallbackByteRangeSource.ReadRange(StartOffset: Int64;
Count: LongInt; Buffer: PAnsiChar): LongInt;
Parametre
StartOffset | 0-baseret forskydning af den første byte, der skal læses |
|---|---|
Count | Antal ønskede bytes |
Buffer | Kalderbuffer, der modtager de ønskede bytes |
Bemærkninger
Anmodningen afvises, når intet læse-callback er tildelt, Buffer er Nil, Count er nul eller negativ, StartOffset er negativ, eller StartOffset når den samlede størrelse
En anmodning, der strækker sig forbi den samlede størrelse, klemmes til de resterende bytes i stedet for at blive afvist
Et callback-resultat under nul behandles som nul, og et resultat over det klemte antal reduceres til antallet
Fejlmeddelelsen registreret for en afvist anmodning eller en callback-undtagelse er tilgængelig gennem GetLastError
Returværdier
0 | Anmodningen var ugyldig, read-callbacken udløste en exception, eller callbacken overførte ingen bytes; GetLastError beskriver fejlen, når en meddelelse blev registreret |
|---|---|
| Positive | Antal faktisk læste bytes, aldrig mere end den afgrænsede anmodning |
Se også
GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource