z13455525731
驱动牛犊
驱动牛犊
  • 注册日期2005-03-10
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分107分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:907回复:1

数据读写dispatch与IOCTL操作有什么不同

楼主#
更多 发布于:2005-06-05 08:11
数据读写好像dispatchread,dispatchwrit和IOCTL操作都可以做到
两种操作是什么关系
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-06-05 10:15
对于应用程序和驱动程序直接通讯,dispatchread,dispatchwrite和IOCTL确实没有本质上不同,看个人习惯了。但一般read,write用于
没有格式的数据流的读写。
而且二者缓存的处理不同。对于read,write是通过设置DeviceObject->Flag来实现,DO_DIRECT_IO或者DO_BUFFERD_IO,或者两个都不设置,读写必须一致。而对于IoCtrol,完全看ControlCode的定义了有METHORD_BUFFERED,METHORD_IN_DIRECT,METHORD_OUT_DIRECT,METHORD_NEITHER,每个ControlCode都可以不同,更灵活。
游客

返回顶部