sysclock.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //------------------------------------------------------------------------------
  2. // File: SysClock.h
  3. //
  4. // Desc: DirectShow base classes - defines a system clock implementation of
  5. // IReferenceClock.
  6. //
  7. // Copyright (c) 1992-2001 Microsoft Corporation. All rights reserved.
  8. //------------------------------------------------------------------------------
  9. #ifndef __SYSTEMCLOCK__
  10. #define __SYSTEMCLOCK__
  11. //
  12. // Base clock. Uses timeGetTime ONLY
  13. // Uses most of the code in the base reference clock.
  14. // Provides GetTime
  15. //
  16. class CSystemClock : public CBaseReferenceClock, public IAMClockAdjust, public IPersist
  17. {
  18. public:
  19. // We must be able to create an instance of ourselves
  20. static CUnknown * WINAPI CreateInstance(__inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
  21. CSystemClock(__in_opt LPCTSTR pName, __inout_opt LPUNKNOWN pUnk, __inout HRESULT *phr);
  22. DECLARE_IUNKNOWN
  23. STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, __deref_out void ** ppv);
  24. // Yield up our class id so that we can be persisted
  25. // Implement required Ipersist method
  26. STDMETHODIMP GetClassID(__out CLSID *pClsID);
  27. // IAMClockAdjust methods
  28. STDMETHODIMP SetClockDelta(REFERENCE_TIME rtDelta);
  29. }; //CSystemClock
  30. #endif /* __SYSTEMCLOCK__ */