ReadRange

문서 파트, 가변 데이터, 문서 편집

설명

읽기 콜백으로 전달하여 TCallbackByteRangeSource를 통해 바이트 범위를 호출자가 제공한 버퍼로 읽어 들입니다

구문

Function TCallbackByteRangeSource.ReadRange(StartOffset: Int64;
  Count: LongInt; Buffer: PAnsiChar): LongInt;

매개변수

StartOffset읽을 첫 바이트의 0부터 시작하는 오프셋
Count요청된 바이트 수
Buffer요청된 바이트를 받는 호출자 버퍼

비고

읽기 콜백이 할당되지 않았거나, Buffer가 Nil이거나, Count가 0 이하이거나, StartOffset가 음수이거나, StartOffset가 전체 크기에 이르면 요청은 거부됩니다

전체 크기를 넘어가는 요청은 거부되는 대신 남은 바이트로 잘립니다

0 미만 콜백 결과는 0으로 취급되고, 잘린 개수를 넘는 결과는 그 개수로 줄어듭니다

거부된 요청이나 콜백 예외에 대해 기록된 오류 메시지는 GetLastError로 얻을 수 있습니다

반환 값

0요청이 잘못되었거나, 읽기 콜백이 예외를 발생시켰거나, 콜백이 바이트를 전달하지 않았습니다. 메시지가 기록된 경우 GetLastError가 실패 원인을 설명합니다
Positive실제로 읽은 바이트 수이며, 제한된 요청량을 넘지 않습니다

참고 항목

GetLastError, IsRangeAvailable, GetTotalSize, GetRangeSupported, LoadFromRangeSource