/* Copyright (c) 1998-1999 Microsoft Corporation */ // propbag.h : Declaration of the CMyPropertyBag #ifndef __CMyPropertyBag_H_ #define __CMyPropertyBag_H_ // // CMyPropertyBag class ATL_NO_VTABLE CMyPropertyBag : public CComObjectRootEx, public IPropertyBag { private: DWORD m_dwDeviceInID; DWORD m_dwDeviceOutID; public: BEGIN_COM_MAP(CMyPropertyBag) COM_INTERFACE_ENTRY(IPropertyBag) END_COM_MAP() HRESULT STDMETHODCALLTYPE Read( LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog ) { if (lstrcmpiW( pszPropName, L"WaveInId" ) == 0) { pVar->vt = VT_I4; pVar->lVal = m_dwDeviceInID; return S_OK; } if (lstrcmpiW( pszPropName, L"WaveOutId" ) == 0) { pVar->vt = VT_I4; pVar->lVal = m_dwDeviceOutID; return S_OK; } return S_FALSE; } HRESULT STDMETHODCALLTYPE Write( LPCOLESTR pszPropName, VARIANT *pVar ) { if (lstrcmpiW( pszPropName, L"WaveInId" ) == 0) { m_dwDeviceInID = pVar->lVal; return S_OK; } if (lstrcmpiW( pszPropName, L"WaveOutId" ) == 0) { m_dwDeviceOutID = pVar->lVal; return S_OK; } return S_FALSE; }; }; #endif