⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buffer.cpp

📁 AVI这个软件是用VC编写的
💻 CPP
字号:
// Buffer.cpp: implementation of the CBuffer class.
//
//////////////////////////////////////////////////////////////////////

#include "../stdafx.h"
#include "Buffer.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

#if 0
// Japanese
#define L_ERROR_ALLOC_AUDIO_BUFFER	"壒惡僶僢僼傽梡偺儊儌儕偑懌傝傑偣傫両"
#define L_TITLE_MESSAGEBOX			"捠抦"
#else
#define L_ERROR_ALLOC_AUDIO_BUFFER	"Out of memory for audio buffer!"
#define L_TITLE_MESSAGEBOX			"Note"
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CBuffer::CBuffer(DWORD size, bool AutoDelete)
{
	m_bAutoDelete = AutoDelete;
	try
	{
		ptr.b = new BYTE[size];
		if(ptr.b) ByteLen = size;
	}
	catch(...)
	{
		//ErrorMsg("Out of memory!");
		// You cannot use LoadString since it will throw an exception again.
		MessageBox(NULL,L_ERROR_ALLOC_AUDIO_BUFFER, L_TITLE_MESSAGEBOX,MB_OK);
	}
}

CBuffer::CBuffer(void* buffer, DWORD length)
{
	m_bAutoDelete = false;
	if(buffer)
	{
		ptr.v = buffer;
		ByteLen = length;
	}
	else
	{
		ptr.b = NULL;
		ByteLen = 0;
	}
}

CBuffer::~CBuffer()
{
	// remember to delete the memory
	if(m_bAutoDelete && ptr.b != NULL)  delete ptr.b;
}

void CBuffer::Erase()
{
	if(ptr.b) ZeroMemory(ptr.b,ByteLen);
}

⌨️ 快捷键说明

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