| //------------------------------------------------------------------------------ | |
| // File: SysClock.h | |
| // | |
| // Desc: DirectShow base classes - defines a system clock implementation of | |
| // IReferenceClock. | |
| // | |
| // Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved. | |
| //------------------------------------------------------------------------------ | |
| #ifndef __SYSTEMCLOCK__ | |
| #define __SYSTEMCLOCK__ | |
| // | |
| // Base clock. Uses timeGetTime ONLY | |
| // Uses most of the code in the base reference clock. | |
| // Provides GetTime | |
| // | |
| class CSystemClock : public CBaseReferenceClock, public IAMClockAdjust, public IPersist | |
| { | |
| public: | |
| // We must be able to create an instance of ourselves | |
| static CUnknown * WINAPI CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr); | |
| CSystemClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr); | |
| DECLARE_IUNKNOWN | |
| STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv); | |
| // Yield up our class id so that we can be persisted | |
| // Implement required Ipersist method | |
| STDMETHODIMP GetClassID(__out CLSID *pClsID); | |
| // IAMClockAdjust methods | |
| STDMETHODIMP SetClockDelta(REFERENCE_TIME rtDelta); | |
| }; //CSystemClock | |
| #endif /* __SYSTEMCLOCK__ */ |