ReadRange
Belge parçaları, değişken veri, belge düzenleme
Açıklama
Bir bayt aralığını, okuma geri çağrısına yönlendirme yoluyla bir TCallbackByteRangeSource üzerinden arayanın sağladığı tampona okur
Sözdizimi
Function TCallbackByteRangeSource.ReadRange(StartOffset: Int64;
Count: LongInt; Buffer: PAnsiChar): LongInt;
Parametreler
StartOffset | Okunacak ilk baytın 0 tabanlı uzaklığı |
|---|---|
Count | İstenen bayt sayısı |
Buffer | İstenen baytları alan arayan tamponu |
Açıklamalar
Okuma geri çağrımı atanmamışken, Buffer Nil iken, Count sıfır veya negatifken, StartOffset negatifken veya StartOffset toplam boyuta ulaştığında istek reddedilir
Toplam boyutu aşan bir istek reddedilmek yerine kalan baytlara kırpılır
Sıfırın altındaki bir geri çağrım sonucu sıfır sayılır ve kırpılan sayının üstündeki sonuç sayıya düşürülür
Reddedilen bir istek veya geri çağrım özel durumu için kaydedilen hata iletisi GetLastError üzerinden alınabilir
Dönüş değerleri
0 | İstek geçersizdi, okuma geri çağrısı bir istisna oluşturdu veya geri çağrı hiç bayt aktarmadı; bir ileti kaydedildiyse GetLastError hatayı açıklar |
|---|---|
| Positive | Gerçekte okunan bayt sayısı; asla sınırlandırılmış istekten fazla olmaz |
Ayrıca bkz
GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource