tfrist
驱动牛犊
驱动牛犊
  • 注册日期2006-07-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分127分
  • 威望66点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:1165回复:1

大家好!我这里有一个简单的流驱动问题想请教一下!

楼主#
更多 发布于:2009-08-20 16:40
大家好!我这里有一个简单的流驱动问题想请教一下!

我刚开始在这个领域 试着学习window mobile6的流驱动开发。
我的开发环境是VS2005 直接创建了一个dll工程并在里面创建XXX_Init XXX_Open XXX_IoControl....
等方法。每一个方法中都写了MessageBox方法 没有其他实际代码。然后编译生成一个dll

并将dll拷贝到我的实体手机的\windows目录下,并在注册表中drivers\builtin\下建立了
一个项,项中存有了Dll=我的dll名、Prefix=XXX、Order=0和index=0这几项。
然后重启手机,手机重起后没有出现我的dll中的那些么ssagebox的信息,通过远程进程查看device.exe中加载的驱动没有我的驱动。不知道是什么地方搞错了。
但是如果我写程序使用方法ActivateDeviceEx去加载是可以成功的,并且那些messagebox都可以显示。

我不知道为什么自动加载的不成功。那位高手指教一下。谢谢了!

附加信息:
我没有PB环境,在查看如何写流驱动的时候,有很多说.def .reg .bib文件 那些应该是同pb相关的所以我这里都没有。
tfrist
驱动牛犊
驱动牛犊
  • 注册日期2006-07-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分127分
  • 威望66点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-08-20 18:07
哈哈 问题解决了 是由于dll为被签名所致,可以手动加载但是一旦使用自动载入要验证签名的!以下为转载的方法!

[转贴] 使用vs2005对WM的驱动和应用程序签名
没有怎么用过WM,现在想在WM下运行一个应用程序,调用了一些特权的API,与WinCE不一样的是,WM需要签名才可以运行,所谓签名就是一种安全机制,验证应用程序身份。
下面说下获得签名的办法
我们当然需要的是特权的签名

1 首先肯定要有WM的SDK,比如安装在X:\Program Files\Windows Mobile 6 SDK
2 进入X:\Program Files\Windows Mobile 6 SDK\Tools\Security\SDK Development Certificates
里面有很多签名,找到SamplePrivDeveloper.pfx,双击运行,一直下一步到完成
3 然后在你的WM的项目中选择项目属性,authenticode signing, 在这里这样设置
authenticode signature  -> yes
certificate这里点击右边的...来浏览证书,选择刚才装的那个,这里的名字是 TEST USE ONLY - Sample Privileged Root for Windows Mobile SDK
Provision Device ->Privileged Certificate Store
4 重新编译项目,会发现这些信息
1>Authenticode signing project output...
1>Successfully signed: XXX:\XXX\XXX.dll

这样子就可以了

顺便需要提醒的是,你可以用VS2005开发WM的驱动,但是驱动最好要用特权签名,否则可能无法被加载
游客

返回顶部