CBaseReferenceClock Class Reference

#include <refclock.h>

Inheritance diagram for CBaseReferenceClock:

CUnknown CCritSec CBaseObject CSystemClock

List of all members.

Public Member Functions

 CBaseReferenceClock (TCHAR *pName, LPUNKNOWN pUnk, HRESULT *phr, CAMSchedule *pSched=0)
STDMETHODIMP NonDelegatingQueryInterface (REFIID riid, void **ppv)
DECLARE_IUNKNOWN STDMETHODIMP GetTime (REFERENCE_TIME *pTime)
STDMETHODIMP AdviseTime (REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HEVENT hEvent, DWORD_PTR *pdwAdviseCookie)
STDMETHODIMP AdvisePeriodic (REFERENCE_TIME StartTime, REFERENCE_TIME PeriodTime, HSEMAPHORE hSemaphore, DWORD_PTR *pdwAdviseCookie)
STDMETHODIMP Unadvise (DWORD_PTR dwAdviseCookie)
virtual REFERENCE_TIME GetPrivateTime ()
STDMETHODIMP SetTimeDelta (const REFERENCE_TIME &TimeDelta)
CAMScheduleGetSchedule () const
void TriggerThread ()

Protected Member Functions

virtual ~CBaseReferenceClock ()

Protected Attributes

CAMSchedule *const m_pSchedule

Private Member Functions

HRESULT AdviseThread ()

Static Private Member Functions

static DWORD __stdcall AdviseThreadFunction (LPVOID)

Private Attributes

REFERENCE_TIME m_rtPrivateTime
DWORD m_dwPrevSystemTime
REFERENCE_TIME m_rtLastGotTime
REFERENCE_TIME m_rtNextAdvise
UINT m_TimerResolution
BOOL m_bAbort
HANDLE m_hThread


Detailed Description

Definition at line 21 of file refclock.h.


Constructor & Destructor Documentation

CBaseReferenceClock::~CBaseReferenceClock (  )  [protected, virtual]

CBaseReferenceClock::CBaseReferenceClock ( TCHAR pName,
LPUNKNOWN  pUnk,
HRESULT *  phr,
CAMSchedule pSched = 0 
)


Member Function Documentation

STDMETHODIMP CBaseReferenceClock::NonDelegatingQueryInterface ( REFIID  riid,
void **  ppv 
)

Reimplemented from CUnknown.

Reimplemented in CSystemClock.

Definition at line 11 of file refclock.cpp.

References GetInterface(), hr, HRESULT, and CUnknown::NonDelegatingQueryInterface().

Referenced by CSystemClock::NonDelegatingQueryInterface().

STDMETHODIMP CBaseReferenceClock::GetTime ( REFERENCE_TIME *  pTime  ) 

STDMETHODIMP CBaseReferenceClock::AdviseTime ( REFERENCE_TIME  baseTime,
REFERENCE_TIME  streamTime,
HEVENT  hEvent,
DWORD_PTR *  pdwAdviseCookie 
)

STDMETHODIMP CBaseReferenceClock::AdvisePeriodic ( REFERENCE_TIME  StartTime,
REFERENCE_TIME  PeriodTime,
HSEMAPHORE  hSemaphore,
DWORD_PTR *  pdwAdviseCookie 
)

STDMETHODIMP CBaseReferenceClock::Unadvise ( DWORD_PTR  dwAdviseCookie  ) 

Definition at line 177 of file refclock.cpp.

References m_pSchedule, and CAMSchedule::Unadvise().

REFERENCE_TIME CBaseReferenceClock::GetPrivateTime (  )  [virtual]

Definition at line 182 of file refclock.cpp.

References m_dwPrevSystemTime, m_rtPrivateTime, MILLISECONDS, and UNITS.

Referenced by AdviseThread(), and GetTime().

STDMETHODIMP CBaseReferenceClock::SetTimeDelta ( const REFERENCE_TIME &  TimeDelta  ) 

CAMSchedule* CBaseReferenceClock::GetSchedule (  )  const [inline]

Definition at line 78 of file refclock.h.

References m_pSchedule.

void CBaseReferenceClock::TriggerThread (  )  [inline]

Definition at line 92 of file refclock.h.

References EXECUTE_ASSERT, CAMSchedule::GetEvent(), and m_pSchedule.

Referenced by SetTimeDelta(), and ~CBaseReferenceClock().

HRESULT CBaseReferenceClock::AdviseThread (  )  [private]

DWORD __stdcall CBaseReferenceClock::AdviseThreadFunction ( LPVOID  p  )  [static, private]

Definition at line 250 of file refclock.cpp.

References AdviseThread().

Referenced by CBaseReferenceClock().


Member Data Documentation

REFERENCE_TIME CBaseReferenceClock::m_rtPrivateTime [private]

Definition at line 81 of file refclock.h.

Referenced by CBaseReferenceClock(), GetPrivateTime(), and SetTimeDelta().

Definition at line 82 of file refclock.h.

Referenced by CBaseReferenceClock(), and GetPrivateTime().

REFERENCE_TIME CBaseReferenceClock::m_rtLastGotTime [private]

Definition at line 83 of file refclock.h.

Referenced by GetTime().

REFERENCE_TIME CBaseReferenceClock::m_rtNextAdvise [private]

Definition at line 84 of file refclock.h.

Referenced by AdviseThread().

Definition at line 85 of file refclock.h.

Referenced by CBaseReferenceClock(), and ~CBaseReferenceClock().

Definition at line 98 of file refclock.h.

Referenced by AdviseThread(), and ~CBaseReferenceClock().

Definition at line 99 of file refclock.h.

Referenced by CBaseReferenceClock(), and ~CBaseReferenceClock().


The documentation for this class was generated from the following files:

Generated on Sun May 25 00:20:36 2008 by  doxygen 1.5.6