请问CE5.0下如何导入filter?

jiangfeng5244   2008-3-14 15:28 楼主
我用了如下3种方法都不能导入系统自带的inftee.dll的例子

1.使用了pb5.0编译得到的regsvr32.exe,然后使用 regsvr32.exe inftee.dll,系统返回错误:Registration Operation failed hr = 0x800700c1

2.使用了ce4.0的REGSVRCE.EXE ,说 DllRegisterServer in inftee.dll failed,不知CE5.0有没有REGSVRCE.EXE的呢?

3.网上搜到的如下程序:

if   ((NULL   ==   usFilterPath)   &&   (0   ==   wcslen(usFilterPath)))   
  {   
  return   -1;   
  }
      
  HINSTANCE   hFilterLib;   
  hFilterLib   =   LoadLibrary(usFilterPath);      
  if   (NULL   ==   hFilterLib)   
  {   
  nErrorCode   =   GetLastError();
  printf("Error   ==   %d\n",   nErrorCode);
  return   -2;   
  }   
   
  pfRegisterFun   =   (REGISTER_FUNC)GetProcAddress(hFilterLib,   L"DllRegisterServer");   
  if   (NULL   == pfRegisterFun)   
  {     
  return   -3;   
  }   
   
  pfRegisterFun();
  bResult   =   FreeLibrary(hFilterLib);   
  if   (!bResult)   
  {      
  return   -4;   
  }

用了这段代码,graphedt还是看不到注册的filter。

请问各位,应该如何才能把filter注册进系统里,才能在graphedt里看到呢?谢谢啊!!!!ToT

回复评论 (6)

如果用wm5.0的模拟器, 他的处理器是ARMV4I 。我们首先要拷贝eSuperMap的动态库到模拟器,他的位置是‘\Program Files\SuperMap\eSuperMap 5.2\RSFC\Bin\VC8\MobilePocketPC\Emulator’文件夹下的‘SeRSFC50D.dll’(其中带'D'的表示Debug版本,不带的表示Release版本)。 这是基于模拟器的,如果是设备的话就选择 ‘ARMV4I’文件夹下的dll。还需要拷贝vs2005对ce支持的动态库。‘\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i’文件夹下的5个dll 。atl80.dll、MFC80U.DLL、MFC80UD.DLL、msvcr80.dll、msvcr80d.dll.,一定要看清楚是使用的什么版本的模拟器和模拟器的处理器类型,我就是因为选错才导致程序不能运行的。如果不知道具体是哪个dll文件,建议把整个文件夹文件全部上传.可是dll都选择对了但是我的程序还是运行不起来。
点赞  2008-3-14 17:45
没有看懂。

请问是有关流媒体的东西吗?
source filter?

这篇文章不知道能不能帮上你。
http://lenux.bokee.com/3900251.html
点赞  2008-3-14 17:49
我的意思是:CE自带的inftee filter这个例子,怎样才能在ce里面用起来呢?pc上,注册成功的filter能在graphedit上看到啊,在CE上,我想差不多吧?
谢谢楼上两位
点赞  2008-3-14 18:55
有高手知道吗?也就是自己写的封装成com的filter,怎样才能在ce里使用起来呢?
点赞  2008-3-15 16:55
我也遇到这个问题,LZ解决没?
点赞  2008-7-12 19:35
我发过贴了,已经解决,搜~~,写.reg
点赞  2008-7-16 16:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复