如何让开发的驱动程序和应用程序一一对应呢

ToBeTough 2010-04-09 08:35:46
我开发一个驱动程序.sys和一个应用程序.exe,应用程序可以调用加载到内核的驱动

程序,我看资料说驱动程序的派遣函数是运行在应用程序的进线程的上下文中了,那

么我可以获得应用程序的模式(PE加载到内核中)的资料么?然后再驱动里做点东西

可以让只有我开发的编译后的应用程序可以调用这个驱动中的东西?我是刚开始做驱

动,有什么方法或者资料给我也行,怎么能让驱动和应用一一对应呢,很急,谢谢了

,可以加我的QQ号275927950
...全文
238 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
p123p456 2010-04-28
  • 打赏
  • 举报
回复
有学习的资料,请供大家参考一下。
einsteinz 2010-04-24
  • 打赏
  • 举报
回复
路过,顶下
yangleit 2010-04-23
  • 打赏
  • 举报
回复
我记得:在使用DeviceIoControl从应用程序传递参数到驱动程序的时候,必须要提供一个 ID,这个ID是65535之内的一个唯一的ID(当然,前面2000个或者1000个已经被微软保留了)。用这个ID可以实现一一对应。

至于你需要严格判断DeviceIoControl是来自你自己“认证”过的应用程序,那你可以在传递的参数中加入一个密码,甚至可以用一个private key把你的密码sign一下,然后在驱动中用public key(公共密匙)用非对称解码方式验证一下。通过验证的内容才调用相关的 dispatch函数。
beyondma 2010-04-12
  • 打赏
  • 举报
回复
一一对应,这个明显是不太现实的。。。。因为你的驱动不可能在运行时判断你的程序是哪一个。GETWINDOWTEXT在驱动层不可用啊。这个比较麻烦。
老马何以识途 2010-04-09
  • 打赏
  • 举报
回复
哦,理解错误。楼上的方法可行,可以在传入某个参数时才启用驱动的功能。
老马何以识途 2010-04-09
  • 打赏
  • 举报
回复
你不是已经搞定了调用吗?用DeviceIoControl可以传参数给驱动,你可以自己定义这些参数的意义。
凤朝凰 2010-04-09
  • 打赏
  • 举报
回复
在驱动中加一个不公开的参数,相当于调用驱动的密码,不知道可不可以...
ToBeTough 2010-04-09
  • 打赏
  • 举报
回复
我是想问如何保护我的驱动程序,而不是问应用程序如何调用我的驱动程序
老马何以识途 2010-04-09
  • 打赏
  • 举报
回复
应用层传入信息的时候,可以使用WriteFile,也可以使用DeviceIoControl。建议使用DeviceIoControl。
ToBeTough 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hzy_76 的回复:]
哦,理解错误。楼上的方法可行,可以在传入某个参数时才启用驱动的功能。
[/Quote]

以上俩楼的意思是在驱动做一个全局的变量,固定值,应用程序调用是传入这个值,才能调用驱动的派遣函数,但是怎么才能从应用程序调用驱动的时候传值?谢谢了!!!

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧