📄 dsplaybackdriver.h
字号:
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
Copyright (c) 1999 Microsoft Corporation
Module Name:
DsPlaybackDriver.h
Abstract:
Declaration file for the
DsPlaybackDriver
class.
Revision History:
mmaguire 08/19/99
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
#ifndef _DSPLAYBACKDRIVER_H_
#define _DSPLAYBACKDRIVER_H_
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// standard includes:
//
//
// where we can find declarations needed in this file:
//
#include "DsDriverBuffer.h"
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
class DsPlaybackDriverBuffer;
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
class DsPlaybackDriver : public IDsDriver
{
public:
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
IUnknown implementation
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *);
STDMETHOD_(ULONG,AddRef) (THIS);
STDMETHOD_(ULONG,Release) (THIS);
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
IDsDriver methods
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
STDMETHOD(GetDriverDesc) (THIS_ PDSDRIVERDESC );
STDMETHOD(Open) (THIS );
STDMETHOD(Close) (THIS );
STDMETHOD(GetCaps) (THIS_ PDSDRIVERCAPS );
STDMETHOD(CreateSoundBuffer) (THIS_ LPWAVEFORMATEX, DWORD, DWORD, LPDWORD, LPBYTE *, LPVOID * );
STDMETHOD(DuplicateSoundBuffer) (THIS_ PIDSDRIVERBUFFER, LPVOID * );
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
methods public but not exposed on any interfaces
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
/*****************************************************************************
Constructor, destructor
*****************************************************************************/
//////////////////////////////////////////////////////////////////////////////
DsPlaybackDriver(
/* [out] */ HRESULT &hr);
~DsPlaybackDriver();
// Put any public data specific to the device here where the other classes
// in the driver can access it.
private:
ULONG m_ulRefCount;
// Since these will only be called from within this class, they do
// not need to be published.
// Put any private data specific to the device here.
// Hide stuff here that the rest of the driver doesn't need to know about.
// Note that drivers need to be thread safe, so we must protect
// critical data so it works under access from multiple threads.
protected:
UINT m_nActiveBuffers;
CCX5530Audio* m_pCX5530Audio;
CRITICAL_SECTION m_csSoundBuffer;
bool m_bOpened;
DsPlaybackDriverBuffer **m_pDriverBuffers;
};
#endif //_DSPLAYBACKDRIVER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -