Source code of Windows XP (NT5)
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.

83 lines
2.2 KiB

  1. //==========================================================================;
  2. // MSVidXDS.h : Declaration of the CMSVidXDS
  3. // copyright (c) Microsoft Corp. 1998-1999.
  4. /////////////////////////////////////////////////////////////////////////////
  5. #pragma once
  6. #ifndef __MSVidXDS_H_
  7. #define __MSVidXDS_H_
  8. #include <algorithm>
  9. #include <tchar.h>
  10. #include <objectwithsiteimplsec.h>
  11. #include "segimpl.h"
  12. #include "XDSimpl.h"
  13. #include "seg.h"
  14. typedef CComQIPtr<ITuner> PQMSVidXDS;
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CMSVidXDS
  17. class ATL_NO_VTABLE __declspec(uuid("0149EEDF-D08F-4142-8D73-D23903D21E90")) CXDS :
  18. public CComObjectRootEx<CComSingleThreadModel>,
  19. public CComCoClass<CXDS, &__uuidof(CXDS)>,
  20. public IObjectWithSiteImplSec<CXDS>,
  21. public ISupportErrorInfo,
  22. public IConnectionPointContainerImpl<CXDS>,
  23. public IMSVidGraphSegmentImpl<CXDS, MSVidSEG_XFORM, &GUID_NULL>,
  24. public IMSVidXDSImpl<CXDS, &LIBID_MSVidCtlLib, &GUID_NULL, IMSVidXDS>
  25. {
  26. public:
  27. CXDS() {
  28. }
  29. REGISTER_AUTOMATION_OBJECT(IDS_PROJNAME,
  30. IDS_REG_XDS_PROGID,
  31. IDS_REG_XDS_DESC,
  32. LIBID_MSVidCtlLib,
  33. __uuidof(CXDS));
  34. DECLARE_PROTECT_FINAL_CONSTRUCT()
  35. BEGIN_COM_MAP(CXDS)
  36. COM_INTERFACE_ENTRY(IMSVidGraphSegment)
  37. COM_INTERFACE_ENTRY(IMSVidXDS)
  38. COM_INTERFACE_ENTRY(IDispatch)
  39. COM_INTERFACE_ENTRY(IObjectWithSite)
  40. COM_INTERFACE_ENTRY(IMSVidFeature)
  41. COM_INTERFACE_ENTRY(IMSVidDevice)
  42. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  43. COM_INTERFACE_ENTRY(IConnectionPointContainer)
  44. COM_INTERFACE_ENTRY(IPersist)
  45. END_COM_MAP()
  46. BEGIN_CATEGORY_MAP(CXDS)
  47. IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
  48. IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
  49. IMPLEMENTED_CATEGORY(CATID_PersistsToPropertyBag)
  50. END_CATEGORY_MAP()
  51. BEGIN_CONNECTION_POINT_MAP(CXDS)
  52. END_CONNECTION_POINT_MAP()
  53. // ISupportsErrorInfo
  54. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  55. public:
  56. PQCreateDevEnum m_pSystemEnum;
  57. int m_iIPSink;
  58. HRESULT Unload(void);
  59. // IMSVidGraphSegment
  60. STDMETHOD(Build)();
  61. STDMETHOD(PreRun)();
  62. STDMETHOD(put_Container)(IMSVidGraphSegmentContainer *pCtl);
  63. // IMSVidDevice
  64. STDMETHOD(get_Name)(BSTR * Name);
  65. };
  66. #endif //__MSVidXDS_H_