public override int Read(byte[] buffer, int offset, int count) {
if (m_Position >= m_Offset+m_Size) {
return 0;
}
if (m_Position + count > m_Offset+m_Size) {
count = (int)(m_Offset + m_Size - m_Position);
}
int result = m_ParentStream.Read(buffer, offset, count);
m_Position += result;
return result;
}