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) ;