ReadRange
Phần tài liệu, dữ liệu biến, soạn thảo tài liệu
Mô tả
Đọc một khoảng byte qua một TCallbackByteRangeSource vào bộ đệm do caller cung cấp bằng cách chuyển tiếp tới callback đọc
Cú pháp
Function TCallbackByteRangeSource.ReadRange(StartOffset: Int64;
Count: LongInt; Buffer: PAnsiChar): LongInt;
Tham số
StartOffset | Khoảng cách tính từ 0 của byte đầu tiên cần đọc |
|---|---|
Count | Số byte được yêu cầu |
Buffer | Bộ đệm của caller nhận các byte được yêu cầu |
Ghi chú
Yêu cầu bị từ chối khi chưa gán callback đọc, Buffer là Nil, Count bằng 0 hoặc âm, StartOffset âm hoặc StartOffset chạm tới tổng kích thước
Yêu cầu vượt quá tổng kích thước bị giới hạn xuống các byte còn lại thay vì bị từ chối
Kết quả callback nhỏ hơn 0 được coi là 0, và kết quả lớn hơn số đếm đã giới hạn bị giảm xuống số đếm đó
Thông báo lỗi được ghi cho một yêu cầu bị từ chối hoặc một ngoại lệ callback có thể xem qua
Yêu cầu vượt quá tổng kích thước bị clamp về số byte còn lại thay vì bị từ chối
Kết quả callback nhỏ hơn không được coi là không, và kết quả vượt số lượng đã clamp bị giảm về số lượng đó
GetLastError
Giá trị trả về
0 | Yêu cầu không hợp lệ, callback đọc phát sinh ngoại lệ hoặc callback không truyền byte nào; GetLastError mô tả sự thất bại khi đã ghi một thông báo |
|---|---|
| Positive | Số byte thực tế đã đọc, không bao giờ nhiều hơn yêu cầu đã giới hạn |
Xem thêm
GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource