/*++ Copyright (c) 1998-1999 Microsoft Corporation Module Name: waveaddr.h Abstract: Declaration of the CWaveMSP Author: Zoltan Szilagyi September 6th, 1998 --*/ #ifndef __WAVEADDR_H_ #define __WAVEADDR_H_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include "resource.h" ///////////////////////////////////////////////////////////////////////////// // CWaveMSP ///////////////////////////////////////////////////////////////////////////// class CWaveMSP : public CMSPAddress, public IDispatchImpl, public CComCoClass, public CMSPObjectSafetyImpl { public: CWaveMSP(); virtual ~CWaveMSP(); virtual ULONG MSPAddressAddRef(void); virtual ULONG MSPAddressRelease(void); DECLARE_REGISTRY_RESOURCEID(IDR_WaveMSP) DECLARE_POLY_AGGREGATABLE(CWaveMSP) BEGIN_COM_MAP(CWaveMSP) COM_INTERFACE_ENTRY( IObjectSafety ) COM_INTERFACE_ENTRY( ITLegacyWaveSupport ) COM_INTERFACE_ENTRY_CHAIN(CMSPAddress) END_COM_MAP() public: STDMETHOD (CreateMSPCall) ( IN MSP_HANDLE htCall, IN DWORD dwReserved, IN DWORD dwMediaType, IN IUnknown * pOuterUnknown, OUT IUnknown ** ppMSPCall ); STDMETHOD (ShutdownMSPCall) ( IN IUnknown * pMSPCall ); // // Public method for creating the filter mapper cache up front. // Called by the stream/call when an intelligent connection is // attempted. Does nothing if the cache has already been created. // virtual HRESULT CreateFilterMapper(void); protected: DWORD GetCallMediaTypes(void); // // Extra overrides for hiding our wave devices. // virtual HRESULT ReceiveTSPAddressData( IN PBYTE pBuffer, IN DWORD dwSize ); virtual HRESULT UpdateTerminalList(void); // // Helper functions. // virtual BOOL TerminalHasWaveID( IN BOOL fCapture, IN ITTerminal * pTerminal, IN DWORD dwWaveID ); // // ITLegacyWaveSupport // STDMETHOD (IsFullDuplex) ( OUT FULLDUPLEX_SUPPORT * pSupport ); // // Data for hiding our wave devices. // BOOL m_fHaveWaveIDs; DWORD m_dwWaveInID; DWORD m_dwWaveOutID; FULLDUPLEX_SUPPORT m_fdSupport; // // Data for creating the filter mapper cache up front. // IFilterMapper * m_pFilterMapper; }; #endif //__WAVEADDR_H_