40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								//------------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// 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__ */
							 |