|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
// CWMPEventDispatch.h : Declaration of the event dispatcher
//
#pragma once
#include "stdafx.h"
// if these files aren't found, set your path to include the wmp sdk include directory
// download the sdk from http://www.microsoft.com/windows/windowsmedia/mp10/sdk.aspx
#include "wmpids.h"
#include "wmp.h"
class CWMPEventDispatch: public CComObjectRootEx<CComSingleThreadModel>, public IWMPEvents, public _WMPOCXEvents { public:
BEGIN_COM_MAP(CWMPEventDispatch) COM_INTERFACE_ENTRY(_WMPOCXEvents) COM_INTERFACE_ENTRY(IWMPEvents) COM_INTERFACE_ENTRY(IDispatch) END_COM_MAP()
// IDispatch methods
STDMETHOD(GetIDsOfNames)( REFIID riid, OLECHAR FAR *FAR *rgszNames, unsigned int cNames, LCID lcid, DISPID FAR *rgDispId ) { return( E_NOTIMPL ); }
STDMETHOD(GetTypeInfo)( unsigned int iTInfo, LCID lcid, ITypeInfo FAR *FAR *ppTInfo ) { return( E_NOTIMPL ); }
STDMETHOD(GetTypeInfoCount)( unsigned int FAR *pctinfo ) { return( E_NOTIMPL ); }
STDMETHOD(Invoke)( DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR* pDispParams, VARIANT FAR* pVarResult, EXCEPINFO FAR* pExcepInfo, unsigned int FAR* puArgErr );
// IWMPEvents methods
void STDMETHODCALLTYPE OpenStateChange( long NewState ); void STDMETHODCALLTYPE PlayStateChange( long NewState ); void STDMETHODCALLTYPE AudioLanguageChange( long LangID ); void STDMETHODCALLTYPE StatusChange(); void STDMETHODCALLTYPE ScriptCommand( BSTR scType, BSTR Param ); void STDMETHODCALLTYPE NewStream(); void STDMETHODCALLTYPE Disconnect( long Result ); void STDMETHODCALLTYPE Buffering( VARIANT_BOOL Start ); void STDMETHODCALLTYPE Error(); void STDMETHODCALLTYPE Warning( long WarningType, long Param, BSTR Description ); void STDMETHODCALLTYPE EndOfStream( long Result ); void STDMETHODCALLTYPE PositionChange( double oldPosition, double newPosition); void STDMETHODCALLTYPE MarkerHit( long MarkerNum ); void STDMETHODCALLTYPE DurationUnitChange( long NewDurationUnit ); void STDMETHODCALLTYPE CdromMediaChange( long CdromNum ); void STDMETHODCALLTYPE PlaylistChange( IDispatch * Playlist, WMPPlaylistChangeEventType change ); void STDMETHODCALLTYPE CurrentPlaylistChange( WMPPlaylistChangeEventType change ); void STDMETHODCALLTYPE CurrentPlaylistItemAvailable( BSTR bstrItemName ); void STDMETHODCALLTYPE MediaChange( IDispatch * Item ); void STDMETHODCALLTYPE CurrentMediaItemAvailable( BSTR bstrItemName ); void STDMETHODCALLTYPE CurrentItemChange( IDispatch *pdispMedia); void STDMETHODCALLTYPE MediaCollectionChange(); void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded( BSTR bstrAttribName, BSTR bstrAttribVal ); void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved( BSTR bstrAttribName, BSTR bstrAttribVal ); void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged( BSTR bstrAttribName, BSTR bstrOldAttribVal, BSTR bstrNewAttribVal); void STDMETHODCALLTYPE PlaylistCollectionChange(); void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded( BSTR bstrPlaylistName); void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved( BSTR bstrPlaylistName); void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted( BSTR bstrPlaylistName, VARIANT_BOOL varfIsDeleted); void STDMETHODCALLTYPE ModeChange( BSTR ModeName, VARIANT_BOOL NewValue); void STDMETHODCALLTYPE MediaError( IDispatch * pMediaObject); void STDMETHODCALLTYPE OpenPlaylistSwitch( IDispatch *pItem ); void STDMETHODCALLTYPE DomainChange( BSTR strDomain); void STDMETHODCALLTYPE SwitchedToPlayerApplication(); void STDMETHODCALLTYPE SwitchedToControl(); void STDMETHODCALLTYPE PlayerDockedStateChange(); void STDMETHODCALLTYPE PlayerReconnect(); void STDMETHODCALLTYPE Click( short nButton, short nShiftState, long fX, long fY ); void STDMETHODCALLTYPE DoubleClick( short nButton, short nShiftState, long fX, long fY ); void STDMETHODCALLTYPE KeyDown( short nKeyCode, short nShiftState ); void STDMETHODCALLTYPE KeyPress( short nKeyAscii ); void STDMETHODCALLTYPE KeyUp( short nKeyCode, short nShiftState ); void STDMETHODCALLTYPE MouseDown( short nButton, short nShiftState, long fX, long fY ); void STDMETHODCALLTYPE MouseMove( short nButton, short nShiftState, long fX, long fY ); void STDMETHODCALLTYPE MouseUp( short nButton, short nShiftState, long fX, long fY ); };
typedef CComObject<CWMPEventDispatch> CComWMPEventDispatch;
|