497 lines
14 KiB
C++
497 lines
14 KiB
C++
// Copyright (c) 1999 Microsoft Corporation. All Rights Reserved.
|
|
#ifndef _MSVIDWEBDVDCP_H_
|
|
#define _MSVIDWEBDVDCP_H_
|
|
|
|
template <class T>
|
|
class CProxy_WebDVDEvent : public CProxy_PlaybackEvent<T, &IID_IMSVidWebDVDEvent, CComDynamicUnkArray>
|
|
{
|
|
//Warning this class may be recreated by the wizard.
|
|
public:
|
|
VOID Fire_DVDNotify(long lEventCode, VARIANT lParam1, VARIANT lParam2)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[3];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[2] = lEventCode;
|
|
pvars[1] = lParam1;
|
|
pvars[0] = lParam2;
|
|
DISPPARAMS disp = { pvars, NULL, 3, 0 };
|
|
pDispatch->Invoke(eventidDVDNotify, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayForwards(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayForwards, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayBackwards(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayBackwards, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ShowMenu(DVDMenuIDConstants __MIDL_0011, VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[2];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[1] = __MIDL_0011;
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 2, 0 };
|
|
pDispatch->Invoke(eventidShowMenu, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_Resume(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidResume, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_SelectOrActivateButton(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidSelectOrActivateButton, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_StillOff(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidStillOff, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PauseOn(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPauseOn, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ChangeCurrentAudioStream(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidChangeCurrentAudioStream, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ChangeCurrentSubpictureStream(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidChangeCurrentSubpictureStream, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ChangeCurrentAngle(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidChangeCurrentAngle, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayAtTimeInTitle(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayAtTimeInTitle, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayAtTime(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayAtTime, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayChapterInTitle(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayChapterInTitle, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayChapter(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayChapter, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ReplayChapter(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidReplayChapter, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayNextChapter(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayNextChapter, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_Stop(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidStop, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_ReturnFromSubmenu(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidReturnFromSubmenu, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayTitle(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayTitle, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
VOID Fire_PlayPrevChapter(VARIANT_BOOL bEnabled)
|
|
{
|
|
T* pT = static_cast<T*>(this);
|
|
int nConnectionIndex;
|
|
CComVariant* pvars = new CComVariant[1];
|
|
int nConnections = m_vec.GetSize();
|
|
|
|
for (nConnectionIndex = 0; nConnectionIndex < nConnections; nConnectionIndex++)
|
|
{
|
|
pT->Lock();
|
|
CComPtr<IUnknown> sp = m_vec.GetAt(nConnectionIndex);
|
|
pT->Unlock();
|
|
IDispatch* pDispatch = reinterpret_cast<IDispatch*>(sp.p);
|
|
if (pDispatch != NULL)
|
|
{
|
|
pvars[0] = bEnabled;
|
|
DISPPARAMS disp = { pvars, NULL, 1, 0 };
|
|
pDispatch->Invoke(eventidPlayPrevChapter, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
|
|
}
|
|
}
|
|
delete[] pvars;
|
|
|
|
}
|
|
};
|
|
#endif |