CFactoryTemplate 类

提供用于创建类工厂的模板。

在DirectShow中,类工厂使用 CFactoryTemplate 类进行专用化,也称为工厂模板。 每个类工厂都保存指向工厂模板的指针。 工厂模板包含有关 COM 对象的信息,包括对象的类标识符 (CLSID) 和指向创建对象的函数的指针。

在 DLL 中,声明名为 g_Templates的工厂模板的全局数组。 为 DLL 中的每个对象包括一个工厂模板。 当 DllGetClassObject 函数创建新的类工厂时,它会在数组中搜索具有匹配 CLSID 的模板。 假设找到一个类工厂,它会创建一个类工厂,该工厂包含指向匹配模板的指针。 客户端调用 IClassFactory::CreateInstance 时,类工厂将调用模板中定义的实例化函数。

有关详细信息,请参阅如何创建DirectShow筛选器 DLL

公共成员变量 说明
m_Name 筛选器名称。
m_ClsID 指向对象的 CLSID 的指针。
m_lpfnNew 指向创建对象的实例的函数的指针。
m_lpfnInit 指向从 DLL 入口点调用的函数的指针。
m_pAMovieSetup_Filter 指向 AMOVIESETUP_FILTER 结构的指针。
公共方法 说明
IsClassID 确定 CLSID 是否与此类模板匹配。
CreateInstance 调用类的对象创建函数。

要求

要求 Value
标头
Combase.h (包括 Streams.h)

Strmbase.lib;
Strmbasd.lib

另请参阅

基类参考