yanyi
驱动牛犊
驱动牛犊
  • 注册日期2001-05-28
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1909回复:2

kernel mode 下的driver 如何与应用程序通信?

楼主#
更多 发布于:2001-06-12 16:19
关于driver的书看了一些,始终没搞明白driver如何与ring3级的应用程序通信。我猜想driver是不是应该提供一个API给上层应用程序调用,如果有的话其接口规范是什么?哪里能找到相关的资料?肯请那位大师帮忙解答,先谢了。
mach
驱动牛犊
驱动牛犊
  • 注册日期2001-04-16
  • 最后登录2004-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-12 17:58
Ring3代码通过两个标准API: CreateFile()和CloseHandle()来打开和关闭驱动程序。通过API: DeviceIoControl()来与驱动程序通信。DeviceIoControl()的参数是一个很复杂的结构,其中可以向驱动程序传送一个内存区域的指针。你可以通过这块在这个内存区共享数据建立同步信号灯通信。
yanyi
驱动牛犊
驱动牛犊
  • 注册日期2001-05-28
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-13 07:56
十分感谢mach同志给我的解答,我今天就试一试。令外我还有一个问题想请教:使用VC++能否使ring3级应用程序访问系统内存?我知道这样作可能不行,如果不行能否赐教些方法?再一次向mach同志致敬。
游客

返回顶部