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

📄 hardwarebuffer.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
字号:
// HardwareBuffer.h: interface for the CHardwareBuffer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HARDWAREBUFFER_H__1CB5335F_773A_4C2A_B96E_F18F7303AD28__INCLUDED_)
#define AFX_HARDWAREBUFFER_H__1CB5335F_773A_4C2A_B96E_F18F7303AD28__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "dmachannel.h"
#include "CX5530Audio.h"

const int MIN_INTERRUPT_INTERVAL = 5;	// min number of ms between two interrupts


class CHardwareBuffer : 
	public CMemoryBuffer, 
	public IDsDriverNotify  
{
public:

	//////////////////////////////////////////////////////////////////////////////
	/*****************************************************************************
	IDsDriverNotify methods
	*****************************************************************************/
	//////////////////////////////////////////////////////////////////////////////
	STDMETHOD(SetNotificationPositions) (THIS_ DWORD, LPCDSBPOSITIONNOTIFY);


public:

	CHardwareBuffer(HRESULT &hr, UINT iIndex, volatile struct BusMasterRegisters* pRegisters);
	virtual ~CHardwareBuffer();

public:
	bool HasInterrupt(void);
	virtual void ProcessInterrupt(void);
	bool Allocate(ULONG uSize);
	void SetDMABuffer();
	CDMAChannel* GetSGDTable(){return &m_SGDTable;};

protected:
	bool IsStopInterrupt(void);
	void StartDMAChannel( bool bCapture);
	void StopDMAChannel();
	virtual DWORD GetDMAPosition();

	volatile struct BusMasterRegisters* m_pRegisters;

	// the native sound format (set at buffer creation)
	
	WAVEFORMATEX m_wfxFormat;
	DWORD m_dwLastAddr;
	ULONG m_ulLastOffset;
	CDMAChannel m_SGDTable;
	UINT m_uChannel;
	CCX5530Audio *m_pCX5530;
	CRITICAL_SECTION m_csBuffer;

	USHORT m_uNumberOfNotifications;
	DSBPOSITIONNOTIFY * m_pDsPositionNotify;
	HANDLE m_hEventStop;

	bool m_bIsRunning;
};




#endif // !defined(AFX_HARDWAREBUFFER_H__1CB5335F_773A_4C2A_B96E_F18F7303AD28__INCLUDED_)

⌨️ 快捷键说明

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