阅读:1165回复:1
大家好!我这里有一个简单的流驱动问题想请教一下!
大家好!我这里有一个简单的流驱动问题想请教一下!
我刚开始在这个领域 试着学习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相关的所以我这里都没有。 |
|
沙发#
发布于: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的驱动,但是驱动最好要用特权签名,否则可能无法被加载 |
|