mpafilestream.h

来自「获取mp3信息, Xing header, ID3 tag, APE tag, 」· C头文件 代码 · 共 33 行

H
33
字号
#pragma once
#include "mpastream.h"

class CMPAFileStream :
	public CMPAStream
{
public:
	CMPAFileStream(LPCTSTR szFilename);
	CMPAFileStream(LPCTSTR szFilename, HANDLE hFile);
	virtual ~CMPAFileStream(void);

private:
	static const DWORD INIT_BUFFERSIZE;
	HANDLE m_hFile;
	bool m_bMustReleaseFile;

	// concerning read-buffer
	mutable BYTE* m_pBuffer;
	mutable DWORD m_dwOffset;	// offset (beginning if m_pBuffer)
	mutable DWORD m_dwBufferSize;

	void Init();
	DWORD Read(LPVOID pData, DWORD dwOffset, DWORD dwSize) const;
	bool FillBuffer(DWORD dwOffset, DWORD dwSize, bool bReverse) const;
	void SetPosition(DWORD dwOffset) const;

protected:
	// methods for file access (must be implemented by all derived classes)
	
	virtual BYTE* ReadBytes(DWORD dwSize, DWORD& dwOffset, bool bMoveOffset = true, bool bReverse = false) const;
	virtual DWORD GetSize() const;
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?