keikey43
驱动牛犊
驱动牛犊
  • 注册日期2002-03-27
  • 最后登录2006-10-12
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1254回复:2

各位老师,谁要回答我那真是对我大恩啊...

楼主#
更多 发布于:2002-04-16 17:56
我现在用DDK开发端口读写,但我发现一个IoctlCode对应的只是一种操作,如读或写。如果我想对某个(或若干)端口多次读写的话,比如说几万次,那得在应用层反反复复读,无疑这样会使得程序在用户态--核心态反复进入,这样效率非常低。那怎样才能在驱动层去实现比如说:OperatePort(nPort,nbuf[]);可以让我只进一次驱动层,
从nbuf中挨个读出数写到端口里?进一步说,就是一次用户到内核态的转换但可访问多个端口,或对一个端口进行读写等多次操作呢?
各位老师,谁要回答我那真是对我大恩啊。
溪流飘零
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-04-16 18:23
用户被禁言,该主题自动屏蔽!
dtony07
驱动牛犊
驱动牛犊
  • 注册日期2001-08-28
  • 最后登录2002-05-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-16 20:33
兄弟,这个问题好解决,

你构件一个命令序列,自己定义一个结构,such as
structure CommandList {
  Command1, ParamOfCommand1,
  Command2, ParamOfCommand2,
  ...}

把这个序列传下去,让ring 0驱动解析不就行了。
袁通
游客

返回顶部