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ố

StartOffsetKhoảng cách tính từ 0 của byte đầu tiên cần đọc
CountSố byte được yêu cầu
BufferBộ đệ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ề

0Yê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
PositiveSố 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