windows-nt/Source/XPSP1/NT/multimedia/dshow/vidctl/msvidctl/mpeg2component.h

62 lines
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/////////////////////////////////////////////////////////////////////////////////////
// MPEG2Component.h : Declaration of the CMPEG2Component
// Copyright (c) Microsoft Corporation 1999.
#ifndef __MPEG2COMPONENT_H_
#define __MPEG2COMPONENT_H_
#pragma once
#include <objectwithsiteimplsec.h>
#include "MPEG2componentimpl.h"
/////////////////////////////////////////////////////////////////////////////
// CMPEG2Component
class ATL_NO_VTABLE CMPEG2Component :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CMPEG2Component, &CLSID_MPEG2Component>,
public IObjectWithSiteImplSec<CMPEG2Component>,
public IMPEG2ComponentImpl<CMPEG2Component>
{
public:
CMPEG2Component() : m_bRequiresSave(false)
{
}
REGISTER_AUTOMATION_OBJECT_WITH_TM(IDS_REG_TUNEROBJ,
IDS_REG_MPEG2COMPONENT_PROGID,
IDS_REG_MPEG2COMPONENT_DESC,
LIBID_TunerLib,
CLSID_MPEG2Component, tvBoth);
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CMPEG2Component)
COM_INTERFACE_ENTRY(IMPEG2Component)
COM_INTERFACE_ENTRY(IComponent)
COM_INTERFACE_ENTRY(IPersistPropertyBag)
COM_INTERFACE_ENTRY(IPersist)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IObjectWithSite)
END_COM_MAP_WITH_FTM()
BEGIN_CATEGORY_MAP(CMPEG2Component)
IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
IMPLEMENTED_CATEGORY(CATID_PersistsToPropertyBag)
END_CATEGORY_MAP()
public:
bool m_bRequiresSave;
BEGIN_PROP_MAP(CMPEG2Component)
CHAIN_PROP_MAP(IMPEG2ComponentImpl<CMPEG2Component>)
END_PROPERTY_MAP()
};
typedef CComQIPtr<IMPEG2Component> PQMPEG2Component;
#endif //__MPEG2COMPONENT_H_