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.

64 lines
1.9 KiB

  1. /////////////////////////////////////////////////////////////////////////////////////
  2. // ATSCComponentType.h : Declaration of the CATSCComponentType
  3. // Copyright (c) Microsoft Corporation 1999.
  4. #ifndef __ATSCCOMPONENTTYPE_H_
  5. #define __ATSCCOMPONENTTYPE_H_
  6. #pragma once
  7. #include <objectwithsiteimplsec.h>
  8. #include "ATSCcomponenttypeimpl.h"
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CATSCComponentType
  11. class ATL_NO_VTABLE __declspec(uuid("A8DCF3D5-0780-4ef4-8A83-2CFFAACB8ACE")) CATSCComponentType :
  12. public CComObjectRootEx<CComMultiThreadModel>,
  13. public CComCoClass<CATSCComponentType, &CLSID_ATSCComponentType>,
  14. public IObjectWithSiteImplSec<CATSCComponentType>,
  15. public IATSCComponentTypeImpl<CATSCComponentType>
  16. {
  17. public:
  18. CATSCComponentType()
  19. {
  20. }
  21. REGISTER_AUTOMATION_OBJECT_WITH_TM(IDS_REG_TUNEROBJ,
  22. IDS_REG_ATSCCOMPONENTTYPE_PROGID,
  23. IDS_REG_ATSCCOMPONENTTYPE_DESC,
  24. LIBID_TunerLib,
  25. CLSID_ATSCComponentType, tvBoth);
  26. DECLARE_NOT_AGGREGATABLE(CATSCComponentType)
  27. DECLARE_PROTECT_FINAL_CONSTRUCT()
  28. public:
  29. bool m_bRequiresSave;
  30. typedef IATSCComponentTypeImpl<CATSCComponentType> basetype;
  31. BEGIN_PROP_MAP(CATSCComponentType)
  32. CHAIN_PROP_MAP(basetype)
  33. END_PROPERTY_MAP()
  34. BEGIN_COM_MAP(CATSCComponentType)
  35. COM_INTERFACE_ENTRY(IATSCComponentType)
  36. COM_INTERFACE_ENTRY(IMPEG2ComponentType)
  37. COM_INTERFACE_ENTRY(IComponentType)
  38. COM_INTERFACE_ENTRY(IObjectWithSite)
  39. COM_INTERFACE_ENTRY(IPersistPropertyBag)
  40. COM_INTERFACE_ENTRY(IPersist)
  41. COM_INTERFACE_ENTRY(IDispatch)
  42. END_COM_MAP_WITH_FTM()
  43. BEGIN_CATEGORY_MAP(CATSCComponentType)
  44. IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
  45. IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
  46. IMPLEMENTED_CATEGORY(CATID_PersistsToPropertyBag)
  47. END_CATEGORY_MAP()
  48. };
  49. typedef CComQIPtr<IATSCComponentType> PQATSCComponentType;
  50. #endif //__ATSCCOMPONENTTYPE_H_