Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.0 KiB

  1. #include "resource.h" // main symbols
  2. #define typedef__dxj_ReferenceClock IReferenceClock*
  3. /////////////////////////////////////////////////////////////////////////////
  4. // Direct
  5. //REVIEW -- using pointers to ID's is necessary because some compilers don't like
  6. //references as template arguments.
  7. class C_dxj_ReferenceClockObject :
  8. #ifdef USING_IDISPATCH
  9. public CComDualImpl<I_dxj_ReferenceClock, &IID_I_dxj_ReferenceClock, &LIBID_DIRECTLib>,
  10. public ISupportErrorInfo,
  11. #else
  12. public I_dxj_ReferenceClock,
  13. #endif
  14. public CComObjectRoot
  15. {
  16. public:
  17. C_dxj_ReferenceClockObject() ;
  18. virtual ~C_dxj_ReferenceClockObject() ;
  19. BEGIN_COM_MAP(C_dxj_ReferenceClockObject)
  20. COM_INTERFACE_ENTRY(I_dxj_ReferenceClock)
  21. #ifdef USING_IDISPATCH
  22. COM_INTERFACE_ENTRY(IDispatch)
  23. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  24. #endif
  25. END_COM_MAP()
  26. DECLARE_AGGREGATABLE(C_dxj_ReferenceClockObject)
  27. #ifdef USING_IDISPATCH
  28. // ISupportsErrorInfo
  29. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  30. #endif
  31. // I_dxj_ReferenceClock
  32. public:
  33. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalSetObject(
  34. /* [in] */ IUnknown __RPC_FAR *lpdd);
  35. /* [hidden] */ HRESULT STDMETHODCALLTYPE InternalGetObject(
  36. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *lpdd);
  37. HRESULT STDMETHODCALLTYPE GetTime(REFERENCE_TIME __RPC_FAR *ret);
  38. HRESULT STDMETHODCALLTYPE AdviseTime(REFERENCE_TIME time1, REFERENCE_TIME time2, long lHandle, long __RPC_FAR *lRet);
  39. HRESULT STDMETHODCALLTYPE AdvisePeriodic(REFERENCE_TIME time1, REFERENCE_TIME time2, long lHandle, long __RPC_FAR *lRet);
  40. HRESULT STDMETHODCALLTYPE Unadvise(long lUnadvise);
  41. ////////////////////////////////////////////////////////////////////////
  42. //
  43. // note: this is public for the callbacks
  44. DECL_VARIABLE(_dxj_ReferenceClock);
  45. private:
  46. public:
  47. DX3J_GLOBAL_LINKS(_dxj_ReferenceClock);
  48. DWORD InternalAddRef();
  49. DWORD InternalRelease();
  50. };