?? 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 + -