📄 msptrmac.h
字号:
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// Name: tmaudcap.h
//
// Description: Definition of the CAudioCaptureTerminal class
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSPTRMAC_H_
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define _MSPTRMAC_H_
#define WAVEIN_NAME L"WaveIn Terminal"
/////////////////////////////////////////////////////////////////////////////
// CAudioCaptureTerminal
class CAudioCaptureTerminal :
public IDispatchImpl<ITBasicAudioTerminal, &IID_ITBasicAudioTerminal, &LIBID_TAPI3Lib>,
public CSingleFilterTerminal
{
BEGIN_COM_MAP(CAudioCaptureTerminal)
COM_INTERFACE_ENTRY(ITBasicAudioTerminal)
COM_INTERFACE_ENTRY_CHAIN(CSingleFilterTerminal)
END_COM_MAP()
DECLARE_VQI()
DECLARE_LOG_ADDREF_RELEASE(CAudioCaptureTerminal)
public:
CAudioCaptureTerminal();
virtual ~CAudioCaptureTerminal();
static HRESULT CreateTerminal(
IN CComPtr<IMoniker> pMoniker,
IN MSP_HANDLE htAddress,
OUT ITTerminal **ppTerm
);
HRESULT FindTerminalPin();
// ITBasicAudioTerminal
public:
STDMETHOD(get_Balance)(OUT long *pVal);
STDMETHOD(put_Balance)(IN long newVal);
STDMETHOD(get_Volume) (OUT long *pVal);
STDMETHOD(put_Volume) (IN long newVal);
public:
// public because CreateTerminal accesses it
CComPtr<IMoniker> m_pMoniker;
// CBaseTerminal overrides
STDMETHODIMP CompleteConnectTerminal(void);
STDMETHODIMP DisconnectTerminal(
IN IGraphBuilder * pGraph,
IN DWORD dwReserved
);
virtual HRESULT AddFiltersToGraph();
virtual DWORD GetSupportedMediaTypes(void)
{
return (DWORD) TAPIMEDIATYPE_AUDIO;
}
// Helper methods.
HRESULT CreateFilters();
// checks if the filters need to be created
inline HRESULT CreateFiltersIfRequired();
private:
bool m_bResourceReserved; // keeps track of whether we need to unreserve WaveOut
CComPtr<IAMAudioInputMixer> m_pIAMAudioInputMixer;
};
inline HRESULT
CAudioCaptureTerminal::CreateFiltersIfRequired(
)
{
if (m_pIFilter == NULL) return CreateFilters();
return S_OK;
}
#pragma option pop /*P_O_Pop*/
#endif // _MSPTRMAC_H_
// eof
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -