comparison fuhtark_test/include/winapi/msptrmar.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 #ifndef _MSPTRMAR_H_
2 #define _MSPTRMAR_H_
3
4 #define WAVEOUT_NAME L"WaveOut Terminal"
5 #define MIXER_NAME L"PCM Mixer"
6
7 class CAudioRenderTerminal : public IDispatchImpl<ITBasicAudioTerminal,&IID_ITBasicAudioTerminal,&LIBID_TAPI3Lib>,public IDispatchImpl<ITStaticAudioTerminal,&IID_ITStaticAudioTerminal,&LIBID_TAPI3Lib>,public CSingleFilterStaticTerminal,public CMSPObjectSafetyImpl
8 {
9 public:
10 CAudioRenderTerminal();
11 virtual ~CAudioRenderTerminal();
12 HRESULT InitializeDefaultTerminal();
13 static HRESULT CreateTerminal(CComPtr<IMoniker> pMoniker,MSP_HANDLE htAddress,ITTerminal **ppTerm);
14 HRESULT FindTerminalPin();
15 BEGIN_COM_MAP(CAudioRenderTerminal)
16 COM_INTERFACE_ENTRY(IObjectSafety)
17 COM_INTERFACE_ENTRY(ITBasicAudioTerminal)
18 COM_INTERFACE_ENTRY(ITStaticAudioTerminal)
19 COM_INTERFACE_ENTRY_CHAIN(CSingleFilterStaticTerminal)
20 END_COM_MAP()
21 DECLARE_VQI()
22 DECLARE_LOG_ADDREF_RELEASE(CAudioRenderTerminal)
23 public:
24 STDMETHOD(get_Balance)(long *pVal);
25 STDMETHOD(put_Balance)(long newVal);
26 STDMETHOD(get_Volume)(long *pVal);
27 STDMETHOD(put_Volume)(long newVal);
28 STDMETHOD(get_WaveId) (long *plWaveId);
29 public:
30 STDMETHODIMP CompleteConnectTerminal(void);
31 STDMETHODIMP DisconnectTerminal(IGraphBuilder *pGraph,DWORD dwReserved);
32 virtual HRESULT AddFiltersToGraph();
33 virtual DWORD GetSupportedMediaTypes(void) { return (DWORD) TAPIMEDIATYPE_AUDIO; }
34 HRESULT CreateFilters();
35 private:
36 bool m_bResourceReserved;
37 CComPtr<IBasicAudio> m_pIBasicAudio;
38 };
39
40 #endif