| #ifndef WINE_DSHOW_SYSCLOCK_H |
| #define WINE_DSHOW_SYSCLOCK_H |
| implements CLSID_SystemClock. |
| - At least, the following interfaces should be implemented: |
| typedef struct SC_IReferenceClockImpl |
| ICOM_VFIELD(IReferenceClock); |
| } SC_IReferenceClockImpl; |
| /* implementation limit */ |
| #define WINE_QUARTZ_SYSCLOCK_TIMER_MAX 64 |
| typedef struct QUARTZ_TimerEntry |
| REFERENCE_TIME rtInterval; |
| typedef struct CSystemClock |
| SC_IReferenceClockImpl refclk; |
| /* IReferenceClock fields. */ |
| CRITICAL_SECTION m_csClock; |
| QUARTZ_TimerEntry m_timerEntries[WINE_QUARTZ_SYSCLOCK_TIMER_MAX]; |
| #define CSystemClock_THIS(iface,member) CSystemClock* This = ((CSystemClock*)(((char*)iface)-offsetof(CSystemClock,member))) |
| HRESULT QUARTZ_CreateSystemClock(IUnknown* punkOuter,void** ppobj); |
| HRESULT CSystemClock_InitIReferenceClock( CSystemClock* psc ); |
| void CSystemClock_UninitIReferenceClock( CSystemClock* psc ); |
| #endif /* WINE_DSHOW_SYSCLOCK_H */ |