private int RawStreamSeek(IntPtr datasource, long offset, NativeSeekMode whence)
        {
            SeekOrigin so;

            if (!rawStream.CanSeek)
            {
                return(-1);
            }
            switch (whence)
            {
            case NativeSeekMode.Cur:
                so = SeekOrigin.Current;
                break;

            case NativeSeekMode.End:
                so = SeekOrigin.End;
                break;

            case NativeSeekMode.Set:
                so = SeekOrigin.Begin;
                break;

            default:
                so = (SeekOrigin)whence;
                break;
            }

            rawStream.Seek(offset, so);
            return(0);
        }
        private int RawStreamSeek(IntPtr datasource, long offset, NativeSeekMode whence)
        {
            SeekOrigin so;
            if (!rawStream.CanSeek)
                return -1;
            switch (whence)
            {
                case NativeSeekMode.Cur:
                    so = SeekOrigin.Current;
                    break;
                case NativeSeekMode.End:
                    so = SeekOrigin.End;
                    break;
                case NativeSeekMode.Set:
                    so = SeekOrigin.Begin;
                    break;
                default:
                    so = (SeekOrigin)whence;
                    break;
            }

            rawStream.Seek(offset, so);
            return 0;
        }