www.pudn.com > cdaudioxsrc.zip > CDAudio.h


// CDAudio.h : Declaration of the CCDAudio 
 
#ifndef __CDAUDIO_H_ 
#define __CDAUDIO_H_ 
 
#include "resource.h"       // main symbols 
#include  
#include "CDAudioImp.h"	// Added by ClassView 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CCDAudio 
class ATL_NO_VTABLE CCDAudio :  
	public CComObjectRootEx, 
	public CStockPropImpl, 
	public CComControl, 
	public IPersistStreamInitImpl, 
	public IOleControlImpl, 
	public IOleObjectImpl, 
	public IOleInPlaceActiveObjectImpl, 
	public IViewObjectExImpl, 
	public IOleInPlaceObjectWindowlessImpl, 
	public ISupportErrorInfo, 
	public IConnectionPointContainerImpl, 
	public IPersistStorageImpl, 
	public ISpecifyPropertyPagesImpl, 
	public IQuickActivateImpl, 
	public IDataObjectImpl, 
	public IProvideClassInfo2Impl<&CLSID_CDAudio, &DIID__ICDAudioEvents, &LIBID_CDAUDIOXLib>, 
	public IPropertyNotifySinkCP, 
	public CComCoClass 
{ 
public: 
	CCDAudio() 
	{ 
		 
	} 
 
	~CCDAudio() 
	{ 
		 
 
	} 
DECLARE_REGISTRY_RESOURCEID(IDR_CDAUDIO) 
 
DECLARE_PROTECT_FINAL_CONSTRUCT() 
 
BEGIN_COM_MAP(CCDAudio) 
	COM_INTERFACE_ENTRY(ICDAudio) 
	COM_INTERFACE_ENTRY(IDispatch) 
	COM_INTERFACE_ENTRY(IViewObjectEx) 
	COM_INTERFACE_ENTRY(IViewObject2) 
	COM_INTERFACE_ENTRY(IViewObject) 
	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless) 
	COM_INTERFACE_ENTRY(IOleInPlaceObject) 
	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless) 
	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject) 
	COM_INTERFACE_ENTRY(IOleControl) 
	COM_INTERFACE_ENTRY(IOleObject) 
	COM_INTERFACE_ENTRY(IPersistStreamInit) 
	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit) 
	COM_INTERFACE_ENTRY(ISupportErrorInfo) 
	COM_INTERFACE_ENTRY(IConnectionPointContainer) 
	COM_INTERFACE_ENTRY(ISpecifyPropertyPages) 
	COM_INTERFACE_ENTRY(IQuickActivate) 
	COM_INTERFACE_ENTRY(IPersistStorage) 
	COM_INTERFACE_ENTRY(IDataObject) 
	COM_INTERFACE_ENTRY(IProvideClassInfo) 
	COM_INTERFACE_ENTRY(IProvideClassInfo2) 
END_COM_MAP() 
 
BEGIN_PROP_MAP(CCDAudio) 
	PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4) 
	PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4) 
	PROP_ENTRY("Enabled", DISPID_ENABLED, CLSID_NULL) 
	// Example entries 
	// PROP_ENTRY("Property Description", dispid, clsid) 
	// PROP_PAGE(CLSID_StockColorPage) 
END_PROP_MAP() 
 
BEGIN_CONNECTION_POINT_MAP(CCDAudio) 
	CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink) 
END_CONNECTION_POINT_MAP() 
 
BEGIN_MSG_MAP(CCDAudio) 
	CHAIN_MSG_MAP(CComControl) 
	DEFAULT_REFLECTION_HANDLER() 
END_MSG_MAP() 
// Handler prototypes: 
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); 
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled); 
 
 
 
// ISupportsErrorInfo 
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid) 
	{ 
		static const IID* arr[] =  
		{ 
			&IID_ICDAudio, 
		}; 
		for (int i=0; i