创建filter笔记1
来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:32:36
创建filter,可以从ms提供的filter类库中继承,filter类库中的基类为CBaseFilter。2. 创建pin,可以继承,基类为CBasePin,也可以从CBasePin的子类继承。3. 连接pin,如果想让两个pin可以连接,那么就要符合一定的规范,主要有3个:a) 传输机制要相同,可以为“推”模式的,也可以为“拉”模式的,但outpin和inpin的模式要一样。b) 媒体类型要相同。c) 分配器,Sample缓存的分配约定,要约定好哪个pin提供分配器,分配的缓存的大小、数量以及其他的属性。4. 传输和处理数据5. 支持com 使filter自动注册列出filter的keya) 注册com服务:
HKEY_CLASSES_ROOT
CLSID
Filter CLSID
REG_SZ: (Default) = Friendly name
InprocServer32
REG_SZ: (Default) = File name of the DLL
REG_SZ: ThreadingModel = Both
b)
注册filter目录
HKEY_CLASSES_ROOT
CLSID
Category
Instance
Filter CLSID
REG_SZ: CLSID = Filter CLSID
REG_BINARY: FilterData = Filter information
REG_SZ: FriendlyName = Friendly name
1.声明filter信息Structure Description AMOVIESETUP_FILTER Describes a filter. AMOVIESETUP_PIN Describes a pin. AMOVIESETUP_MEDIATYPE Describes a media type.
AMOVIESETUP_FILTER中包含有一个AMOVIESETUP_PIN数组指针,每个AMOVIESETUP_PIN中又包含一个AMOVIESETUP_MEDIATYPE数组指针。
可以使用IFilterMapper2接口定位一个filter。
2.声明Factory Template
在dll中声明一个CFactoryTemplate对象的全局数组,其中的每个对象对应一个filter或者一个com组件,这个数组的名字必须是g_Templates。
3.实现DllRegisterServer
包含com组件的dll必须包含这个函数,这个函数在filter被注册的时候调用。这是这个函数的一个最小实现:
STDAPI DllRegisterServer(void)
{
return AMovieDllRegisterServer2(TRUE);
}
AMovieDllRegisterServer2()函数为g_Templates数组中的每个组件创建注册入口。
4.注销filter
在DllUnregisterServer()函数中实现filter的注销,在此函数中调用AMovieDllRegisterServer2()函数并传传入FALSE参数就可以了。
创建filter笔记1
转载《怎样创建ear,war文件》 :: zdon技术笔记
Better Builds With Maven 学习笔记(使用Maven创建应用 )
Spring in Action 学习笔记—第三章创建切面 -
Spring in Action 学习笔记—第三章创建切面
Better Builds With Maven 学习笔记(使用Maven创建应用 ) -...
使用Filter验证用户是否登陆,完整示例1
Air filter
bloom filter
bloom filter
bloom filter
笔记1
笔记1
笔记1
Compressed Bloom Filter - Bloom Filter - CSDN...
Counting Bloom Filter - Bloom Filter - CSDN博客
Spring in Action 学习笔记—第三章创建切面 - lenhan12345的专...
设计模式学习笔记(十四)——创建型模式总结
设计模式学习笔记(十四)——创建型模式总结
使用Google Analytics创建电子邮件点击热区图 | 蓝鲸的网站分析笔记
Filter Servlet实例应用
深入浅出DirectShow Filter
深入浅出DirectShow- Filter
logback-Filter机制