CFactoryTemplate 类
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
提供用于创建类工厂的模板。
在 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 | 调用 类的对象创建函数。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|