📄 audiofile.cpp
字号:
#include "stdafx.h"
//#include "AudioFile.h"
AudioFile::AudioFile()
{
m_pFileHdr = NULL;
}
AudioFile::~AudioFile()
{
}
BOOL AudioFile::ToClos()
{
return CloseHandle(m_fh);
}
MMRESULT AudioFile::ToOpen(LPCTSTR lpFileName, PVOID pFilehdr, DWORD cbHdrSiz, OpenMod Flags)
{
DWORD cbBytsDone;
if (READ == Flags)
{
m_fh = CreateFile(lpFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
if (INVALID_HANDLE_VALUE == m_fh)
{
return MMSYSERR_ERROR;
}
if (!ReadFile(m_fh, pFilehdr, cbHdrSiz, &cbBytsDone, NULL) || cbBytsDone < cbHdrSiz)
{
return MMSYSERR_ERROR;
}
return MMSYSERR_NOERROR;
}
else if (WRIT == Flags)
{
m_fh = CreateFile(lpFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == m_fh)
{
return MMSYSERR_ERROR;
}
if (!WriteFile(m_fh, pFilehdr, cbHdrSiz, &cbBytsDone, NULL) || cbBytsDone < cbHdrSiz)
{
return MMSYSERR_ERROR;
}
return MMSYSERR_NOERROR;
}
else
{
return MMSYSERR_INVALPARAM;
}
}
MMRESULT AudioFile::ToRead(PBYTE pBuf, DWORD cbSiz2Read, PDWORD pcbSizRead)
{
if (!ReadFile(m_fh, pBuf, cbSiz2Read, pcbSizRead, NULL))
{
return MMSYSERR_ERROR;
}
return MMSYSERR_NOERROR;
}
MMRESULT AudioFile::ToWrit(PBYTE pData, DWORD cbSiz2Writ, PDWORD pcbSizWrot)
{
if (!WriteFile(m_fh, pData, cbSiz2Writ, pcbSizWrot, NULL) || *pcbSizWrot < cbSiz2Writ)
{
return MMSYSERR_ERROR;
}
return MMSYSERR_NOERROR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -