织梦CMS - 轻松建站从此开始!

罗索实验室

当前位置: 主页 > 嵌入式开发 > Windows CE >

WinCE DirectShow Filter 注册

落鹤生 发布于 2011-11-01 10:23 点击:次 
通过这个注册,COm的信息注册进去了,可以在程序里面创建Com 接口。但是pin 的信息没有注册进去,智能链接的时候没效。通过查看 Directshow 的AMovieDllRegisterServer2代码发现确实只是注册了com信息,没有注册pin信息。解决方法
TAG:

by hdh 2009 03 03

Wince系统Filter的注册,代码如下:

  1. STDAPI DllRegisterServer() 
  2.   HRESULT hr= AMovieDllRegisterServer2(TRUE); 
  3.   return hr; 

通过这个注册,COm的信息注册进去了,可以在程序里面创建Com 接口。但是pin 的信息没有注册进去,智能链接的时候没效。

通过查看 Directshow 的AMovieDllRegisterServer2代码发现确实只是注册了com信息,没有注册pin信息。解决方法:

一、自己创建注册表文件,然后用注册表导入工具经信息导入。

     有点麻烦,需要对filter的注册信息了解,需要做注册表导入工具。

二、使用Directshow的CLSID_FilterMapper 来导入pin信息,代码如下:

  1. STDAPI DllRegisterServer()
  2.   HRESULT hr= AMovieDllRegisterServer2(TRUE);
  3.   RegisterAllPin();
  4.   return hr;
  5.  
  6. BOOL RegisterAllPin() 
  7.  CoInitialize(NULL);   
  8.  HRESULT hr=E_FAIL; 
  9.  IFilterMapper *pIFM = 0; 
  10.  hr = CoCreateInstance( 
  11.   CLSID_FilterMapper, 
  12.   NULL, 
  13.   CLSCTX_INPROC_SERVER, 
  14.   IID_IFilterMapper, 
  15.   (void **)&pIFM); 
  16.  
  17.  if(FAILED(hr)) 
  18.  { 
  19.   printf("Get FilterMapper fail/r/n"); 
  20.   return FALSE;
  21.  } 
  22.  
  23.  printf("Get FilterMapper Success/r/n"); 
  24.  forint i = 0; i < g_cTemplates; i++ ) 
  25.  { 
  26.   // get i'th template
      const CFactoryTemplate *pT = &g_Templates[i]; 
  27.  
  28.   if( NULL != pT->m_pAMovieSetup_Filter ) 
  29.   { 
  30.  
  31.    hr = AMovieSetupRegisterFilter( pT->m_pAMovieSetup_Filter, pIFM, TRUE ); 
  32.    printf("Get AMovieSetupRegisterFilter /r/n"); 
  33.  
  34.   } 
  35.  
  36.   // check final error for this pass 
  37.   // and break loop if we failed 
  38.   // 
  39.   if( FAILED(hr) ) 
  40.    break
  41.  } 
  42.  CoUninitialize();   
  43.  return TRUE; 

这样以后就可以把pin的信息导入到注册表里面去了,可以实现filter的智能链接了。

(hdh)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www1.rosoo.net/a/201111/15256.html]
本文出处:网络 作者:hdh
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容