10 #ifndef __BASEREFCLOCK__ 11 #define __BASEREFCLOCK__ 75 :
public CUnknown,
public IReferenceClock,
public CCritSec,
public IReferenceClockTimerControl
81 __inout_opt LPUNKNOWN pUnk,
96 STDMETHODIMP
GetTime(__out REFERENCE_TIME *pTime);
103 REFERENCE_TIME baseTime,
104 REFERENCE_TIME streamTime,
106 __out DWORD_PTR *pdwAdviseCookie
111 REFERENCE_TIME StartTime,
112 REFERENCE_TIME PeriodTime,
113 HSEMAPHORE hSemaphore,
114 __out DWORD_PTR *pdwAdviseCookie
124 STDMETHODIMP
Unadvise(DWORD_PTR dwAdviseCookie);
137 STDMETHODIMP
SetTimeDelta(
const REFERENCE_TIME& TimeDelta );
145 REFERENCE_TIME timerResolution
148 __out REFERENCE_TIME* pTimerResolution
152 REFERENCE_TIME m_rtPrivateTime;
153 DWORD m_dwPrevSystemTime;
154 REFERENCE_TIME m_rtLastGotTime;
155 REFERENCE_TIME m_rtNextAdvise;
156 UINT m_TimerResolution;
159 int m_idGetSystemTime;
174 HRESULT AdviseThread();
175 static DWORD __stdcall AdviseThreadFunction(__in LPVOID);
180 void Restart (IN REFERENCE_TIME rtMinTime = 0I64) ;
STDMETHODIMP SetTimeDelta(const REFERENCE_TIME &TimeDelta)
CAMSchedule * GetSchedule() const
STDMETHODIMP AdvisePeriodic(REFERENCE_TIME StartTime, REFERENCE_TIME PeriodTime, HSEMAPHORE hSemaphore, __out DWORD_PTR *pdwAdviseCookie)
void Restart(IN REFERENCE_TIME rtMinTime=0I64)
STDMETHODIMP SetDefaultTimerResolution(REFERENCE_TIME timerResolution)
CBaseReferenceClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr, __inout_opt CAMSchedule *pSched=0)
virtual ~CBaseReferenceClock()
CAMSchedule * m_pSchedule
#define EXECUTE_ASSERT(_x_)
const LONGLONG MILLISECONDS
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void **ppv)
STDMETHODIMP Unadvise(DWORD_PTR dwAdviseCookie)
LONGLONG WINAPI ConvertToMilliseconds(const REFERENCE_TIME &RT)
DECLARE_IUNKNOWN STDMETHODIMP GetTime(__out REFERENCE_TIME *pTime)
virtual REFERENCE_TIME GetPrivateTime()
STDMETHODIMP GetDefaultTimerResolution(__out REFERENCE_TIME *pTimerResolution)
STDMETHODIMP AdviseTime(REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HEVENT hEvent, __out DWORD_PTR *pdwAdviseCookie)