コード例 #1
0
ファイル: BassStream.cs プロジェクト: higankanshi/xZune.Bass
        /// <summary>
        /// Release all resource.
        /// </summary>
        public void Dispose()
        {
            _fileCloseHandle.Free();
            _fileLengthHandle.Free();
            _fileReadHandle.Free();
            _fileSeekHandle.Free();

            _fileCloseHandler = null;
            _fileLengthHandler = null;
            _fileReadHandler = null;
            _fileSeekHandler = null;

            StreamHandlers = new FileHandlers();
        }
コード例 #2
0
        /// <summary>
        /// Release all resource.
        /// </summary>
        public void Dispose()
        {
            _fileCloseHandle.Free();
            _fileLengthHandle.Free();
            _fileReadHandle.Free();
            _fileSeekHandle.Free();

            _fileCloseHandler  = null;
            _fileLengthHandler = null;
            _fileReadHandler   = null;
            _fileSeekHandler   = null;

            StreamHandlers = new FileHandlers();
        }
コード例 #3
0
ファイル: BassStream.cs プロジェクト: higankanshi/xZune.Bass
        /// <summary>
        /// Create a <see cref="BassStream"/> form a <see cref="Stream"/>.
        /// </summary>
        /// <param name="stream">Stream to wrap.</param>
        public BassStream(Stream stream)
        {
            _stream = stream;
            _streamPosition = _stream.Position;

            _fileCloseHandler = OnFileClose;
            _fileLengthHandler = OnFileLength;
            _fileReadHandler = OnFileRead;
            _fileSeekHandler = OnFileSeek;

            _fileCloseHandle = GCHandle.Alloc(_fileCloseHandler);
            _fileLengthHandle = GCHandle.Alloc(_fileLengthHandler);
            _fileReadHandle = GCHandle.Alloc(_fileReadHandler);
            _fileSeekHandle = GCHandle.Alloc(_fileSeekHandler);

            StreamHandlers = new FileHandlers
            {
                CloseHandler = _fileCloseHandler,
                LengthHandler = _fileLengthHandler,
                ReadHandler = _fileReadHandler,
                SeekHandler = _fileSeekHandler
            };
        }
コード例 #4
0
        /// <summary>
        /// Create a <see cref="BassStream"/> form a <see cref="Stream"/>.
        /// </summary>
        /// <param name="stream">Stream to wrap.</param>
        public BassStream(Stream stream)
        {
            _stream         = stream;
            _streamPosition = _stream.Position;

            _fileCloseHandler  = OnFileClose;
            _fileLengthHandler = OnFileLength;
            _fileReadHandler   = OnFileRead;
            _fileSeekHandler   = OnFileSeek;

            _fileCloseHandle  = GCHandle.Alloc(_fileCloseHandler);
            _fileLengthHandle = GCHandle.Alloc(_fileLengthHandler);
            _fileReadHandle   = GCHandle.Alloc(_fileReadHandler);
            _fileSeekHandle   = GCHandle.Alloc(_fileSeekHandler);

            StreamHandlers = new FileHandlers
            {
                CloseHandler  = _fileCloseHandler,
                LengthHandler = _fileLengthHandler,
                ReadHandler   = _fileReadHandler,
                SeekHandler   = _fileSeekHandler
            };
        }