Play-/Source/VolumeStream.h

37 lines
637 B
C
Raw Normal View History

#ifndef _VOLUMESTREAM_H_
#define _VOLUMESTREAM_H_
#include <windows.h>
#include "Stream.h"
namespace Framework
{
namespace Win32
{
class CVolumeStream : public CStream
{
public:
CVolumeStream(const TCHAR*);
2018-04-30 21:01:23 +01:00
virtual ~CVolumeStream();
void Seek(int64, STREAM_SEEK_DIRECTION);
uint64 Tell() override;
uint64 Read(void*, uint64) override;
uint64 Write(const void*, uint64) override;
bool IsEOF() override;
private:
2018-04-30 21:01:23 +01:00
void SyncCache();
2018-04-30 21:01:23 +01:00
HANDLE m_nVolume;
void* m_pCache;
uint64 m_nCacheSector;
2018-04-30 21:01:23 +01:00
uint64 m_nPosition;
uint64 m_nSectorSize;
};
}
}
#endif