public virtual byte[] CopyBuffer()
{
var stream = GetBuffer();
if( stream == null )
return null;
var offset = GetBufferPosition();
if( offset == -1 )
return null;
var size = GetBufferSize();
if( size == 0 )
return null;
var bytes = new byte[size];
var prePosition = stream.Position;
stream.Seek( offset, SeekOrigin.Begin );
stream.Read( bytes, 0, size );
stream.Position = prePosition;
// FIXME:
if( Package.Stream.BigEndianCode )
{
Array.Reverse( bytes );
}
return bytes;
}