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.

62 lines
2.0 KiB

  1. /////////////////////////////////////////////////////////////////////////////////////
  2. // MPEG2ComponentType.h : Declaration of the CMPEG2ComponentType
  3. // Copyright (c) Microsoft Corporation 1999.
  4. #ifndef __MPEG2COMPONENTTYPE_H_
  5. #define __MPEG2COMPONENTTYPE_H_
  6. #pragma once
  7. #include <objectwithsiteimplsec.h>
  8. #include "MPEG2componenttypeimpl.h"
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CMPEG2ComponentType
  11. class ATL_NO_VTABLE __declspec(uuid("418008F3-CF67-4668-9628-10DC52BE1D08")) CMPEG2ComponentType :
  12. public CComObjectRootEx<CComMultiThreadModel>,
  13. public CComCoClass<CMPEG2ComponentType, &CLSID_MPEG2ComponentType>,
  14. public IObjectWithSiteImplSec<CMPEG2ComponentType>,
  15. public IMPEG2ComponentTypeImpl<CMPEG2ComponentType>
  16. {
  17. public:
  18. CMPEG2ComponentType()
  19. {
  20. }
  21. REGISTER_AUTOMATION_OBJECT_WITH_TM(IDS_REG_TUNEROBJ,
  22. IDS_REG_MPEG2COMPONENTTYPE_PROGID,
  23. IDS_REG_MPEG2COMPONENTTYPE_DESC,
  24. LIBID_TunerLib,
  25. CLSID_MPEG2ComponentType, tvBoth);
  26. DECLARE_NOT_AGGREGATABLE(CMPEG2ComponentType)
  27. DECLARE_PROTECT_FINAL_CONSTRUCT()
  28. public:
  29. bool m_bRequiresSave;
  30. typedef IMPEG2ComponentTypeImpl<CMPEG2ComponentType> basetype;
  31. BEGIN_PROP_MAP(CMPEG2ComponentType)
  32. CHAIN_PROP_MAP(basetype)
  33. END_PROPERTY_MAP()
  34. BEGIN_COM_MAP(CMPEG2ComponentType)
  35. COM_INTERFACE_ENTRY(IMPEG2ComponentType)
  36. COM_INTERFACE_ENTRY(ILanguageComponentType)
  37. COM_INTERFACE_ENTRY(IComponentType)
  38. COM_INTERFACE_ENTRY(IPersistPropertyBag)
  39. COM_INTERFACE_ENTRY(IPersist)
  40. COM_INTERFACE_ENTRY(IDispatch)
  41. COM_INTERFACE_ENTRY(IObjectWithSite)
  42. END_COM_MAP_WITH_FTM()
  43. BEGIN_CATEGORY_MAP(CMPEG2ComponentType)
  44. IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
  45. IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
  46. IMPLEMENTED_CATEGORY(CATID_PersistsToPropertyBag)
  47. END_CATEGORY_MAP()
  48. };
  49. typedef CComQIPtr<IMPEG2ComponentType> PQMPEG2ComponentType;
  50. #endif //__MPEG2COMPONENTTYPE_H_