#include <schedule.h>

Public Member Functions | |
| virtual | ~CAMSchedule () |
| CAMSchedule (HANDLE ev) | |
| DWORD | GetAdviseCount () |
| REFERENCE_TIME | GetNextAdviseTime () |
| DWORD_PTR | AddAdvisePacket (const REFERENCE_TIME &time1, const REFERENCE_TIME &time2, HANDLE h, BOOL periodic) |
| HRESULT | Unadvise (DWORD_PTR dwAdviseCookie) |
| REFERENCE_TIME | Advise (const REFERENCE_TIME &rtTime) |
| HANDLE | GetEvent () const |
| void | DumpLinkedList () |
Private Types | |
| enum | { dwCacheMax = 5 } |
Private Member Functions | |
| DWORD_PTR | AddAdvisePacket (CAdvisePacket *pPacket) |
| void | ShuntHead () |
| void | Delete (CAdvisePacket *pLink) |
Private Attributes | |
| CAdvisePacket | head |
| CAdvisePacket | z |
| volatile DWORD_PTR | m_dwNextCookie |
| volatile DWORD | m_dwAdviseCount |
| CCritSec | m_Serialize |
| const HANDLE | m_ev |
| CAdvisePacket * | m_pAdviseCache |
| DWORD | m_dwCacheCount |
Classes | |
| class | CAdvisePacket |
Definition at line 9 of file schedule.h.
anonymous enum [private] |
| CAMSchedule::~CAMSchedule | ( | ) | [virtual] |
Definition at line 18 of file schedule.cpp.
References ASSERT, CAMSchedule::CAdvisePacket::DeleteNext(), DumpLinkedList(), head, CAMSchedule::CAdvisePacket::IsZ(), CCritSec::Lock(), m_dwAdviseCount, CAMSchedule::CAdvisePacket::m_next, m_pAdviseCache, m_Serialize, and CCritSec::Unlock().
| CAMSchedule::CAMSchedule | ( | HANDLE | ev | ) |
Definition at line 8 of file schedule.cpp.
References head, CAMSchedule::CAdvisePacket::m_dwAdviseCookie, and z.
| DWORD CAMSchedule::GetAdviseCount | ( | ) |
Definition at line 51 of file schedule.cpp.
References m_dwAdviseCount.
Referenced by CBaseReferenceClock::SetTimeDelta().
| REFERENCE_TIME CAMSchedule::GetNextAdviseTime | ( | ) |
Definition at line 57 of file schedule.cpp.
References head, CAMSchedule::CAdvisePacket::m_next, CAMSchedule::CAdvisePacket::m_rtEventTime, and m_Serialize.
| DWORD_PTR CAMSchedule::AddAdvisePacket | ( | const REFERENCE_TIME & | time1, | |
| const REFERENCE_TIME & | time2, | |||
| HANDLE | h, | |||
| BOOL | periodic | |||
| ) |
Definition at line 64 of file schedule.cpp.
References ASSERT, DWORD_PTR, CCritSec::Lock(), CAMSchedule::CAdvisePacket::m_bPeriodic, m_dwCacheCount, CAMSchedule::CAdvisePacket::m_hNotify, CAMSchedule::CAdvisePacket::m_next, m_pAdviseCache, CAMSchedule::CAdvisePacket::m_rtEventTime, CAMSchedule::CAdvisePacket::m_rtPeriod, m_Serialize, MAX_TIME, and CCritSec::Unlock().
Referenced by CBaseReferenceClock::AdvisePeriodic(), and CBaseReferenceClock::AdviseTime().
| HRESULT CAMSchedule::Unadvise | ( | DWORD_PTR | dwAdviseCookie | ) |
Definition at line 100 of file schedule.cpp.
References ASSERT, Delete(), head, hr, HRESULT, CCritSec::Lock(), CAMSchedule::CAdvisePacket::m_dwAdviseCookie, m_dwAdviseCount, m_Serialize, CAMSchedule::CAdvisePacket::Next(), CAMSchedule::CAdvisePacket::RemoveNext(), S_FALSE, S_OK, and CCritSec::Unlock().
Referenced by CBaseReferenceClock::Unadvise().
| REFERENCE_TIME CAMSchedule::Advise | ( | const REFERENCE_TIME & | rtTime | ) |
Definition at line 129 of file schedule.cpp.
References ASSERT, DbgCheckModuleLevel, DbgLog, Delete(), DumpLinkedList(), EXECUTE_ASSERT, FALSE, head, CAMSchedule::CAdvisePacket::IsZ(), LOG_TIMING, CAMSchedule::CAdvisePacket::m_bPeriodic, CAMSchedule::CAdvisePacket::m_dwAdviseCookie, m_dwAdviseCount, CAMSchedule::CAdvisePacket::m_hNotify, CAMSchedule::CAdvisePacket::m_next, CAMSchedule::CAdvisePacket::m_rtEventTime, CAMSchedule::CAdvisePacket::m_rtPeriod, m_Serialize, MILLISECONDS, NULL, CAMSchedule::CAdvisePacket::RemoveNext(), ShuntHead(), TRUE, and UNITS.
Referenced by CBaseReferenceClock::AdviseThread().
| HANDLE CAMSchedule::GetEvent | ( | ) | const [inline] |
Definition at line 26 of file schedule.h.
References m_ev.
Referenced by CBaseReferenceClock::AdviseThread(), CBaseReferenceClock::CBaseReferenceClock(), CBaseReferenceClock::TriggerThread(), and CBaseReferenceClock::~CBaseReferenceClock().
| DWORD_PTR CAMSchedule::AddAdvisePacket | ( | CAdvisePacket * | pPacket | ) | [private] |
Definition at line 174 of file schedule.cpp.
References ASSERT, CritCheckIn, DbgLog, DWORD_PTR, head, CAMSchedule::CAdvisePacket::InsertAfter(), LOG_TIMING, CAMSchedule::CAdvisePacket::m_dwAdviseCookie, m_dwAdviseCount, m_dwNextCookie, m_ev, CAMSchedule::CAdvisePacket::m_next, CAMSchedule::CAdvisePacket::m_rtEventTime, m_Serialize, MAX_TIME, MILLISECONDS, and UNITS.
| void CAMSchedule::ShuntHead | ( | ) | [private] |
Definition at line 214 of file schedule.cpp.
References ASSERT, DbgLog, head, CCritSec::Lock(), LOG_TIMING, CAMSchedule::CAdvisePacket::m_dwAdviseCookie, CAMSchedule::CAdvisePacket::m_next, CAMSchedule::CAdvisePacket::m_rtEventTime, m_Serialize, MAX_TIME, MILLISECONDS, UNITS, and CCritSec::Unlock().
Referenced by Advise().
| void CAMSchedule::Delete | ( | CAdvisePacket * | pLink | ) | [private] |
Definition at line 201 of file schedule.cpp.
References dwCacheMax, CCritSec::Lock(), m_dwCacheCount, CAMSchedule::CAdvisePacket::m_next, m_pAdviseCache, m_Serialize, and CCritSec::Unlock().
Referenced by Advise(), and Unadvise().
| void CAMSchedule::DumpLinkedList | ( | ) | [inline] |
Definition at line 104 of file schedule.h.
Referenced by Advise(), ~CAMSchedule(), and CBaseReferenceClock::~CBaseReferenceClock().
CAdvisePacket CAMSchedule::head [private] |
Definition at line 79 of file schedule.h.
Referenced by AddAdvisePacket(), Advise(), CAMSchedule(), GetNextAdviseTime(), ShuntHead(), Unadvise(), and ~CAMSchedule().
CAdvisePacket CAMSchedule::z [private] |
volatile DWORD_PTR CAMSchedule::m_dwNextCookie [private] |
volatile DWORD CAMSchedule::m_dwAdviseCount [private] |
Definition at line 82 of file schedule.h.
Referenced by AddAdvisePacket(), Advise(), GetAdviseCount(), Unadvise(), and ~CAMSchedule().
CCritSec CAMSchedule::m_Serialize [private] |
Definition at line 84 of file schedule.h.
Referenced by AddAdvisePacket(), Advise(), Delete(), GetNextAdviseTime(), ShuntHead(), Unadvise(), and ~CAMSchedule().
const HANDLE CAMSchedule::m_ev [private] |
CAdvisePacket* CAMSchedule::m_pAdviseCache [private] |
Definition at line 94 of file schedule.h.
Referenced by AddAdvisePacket(), Delete(), and ~CAMSchedule().
DWORD CAMSchedule::m_dwCacheCount [private] |
1.5.6