haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
阅读:1809回复:6

使用DeviceIoControl时驱动程序返回给应用程序的数据量有限制吗?

楼主#
更多 发布于:2008-06-09 12:55
在使用DeviceIoControl时驱动程序返回给应用程序的数据量有限制吗?
我写的驱动程序在数据量小于8M的时候可以正常工作,但当数据量大于8M后,DeviceIoControl函数返回FALSE。

哪位高人可以指点一下啊!!!!急急急
要吃饭,所以必须学会驱动开发!!!
haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-06-09 16:32
补充一下,我是在应用程序中申请内存资源,然后将指针传递到驱动程序,实现应用程序与驱动程序之间的内存共享,我的8M是16bits
要吃饭,所以必须学会驱动开发!!!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2008-06-09 17:08
你看一下它的错误代码呢?一般倒没传过这么大的缓冲区,这么大,可以使用dml
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-06-10 09:22
我看了,错误代码是0x0000003e6,内存访问无效
要吃饭,所以必须学会驱动开发!!!
haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-06-10 09:27
谢谢znsoft,能不能具体说一下dml怎么用?第一次听说,呵呵
要吃饭,所以必须学会驱动开发!!!
haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-06-10 13:26
再补充一句,我用的是METHOD_IN_DIRECT方式,这个和METHOD_BUFFERED哪个对要传递给应用程序大量的数据的情况更好一些?
要吃饭,所以必须学会驱动开发!!!
haoqy_1123
驱动牛犊
驱动牛犊
  • 注册日期2007-04-27
  • 最后登录2011-12-19
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望43点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-06-25 10:47
后来我把驱动程序应返回给应用程序的数据量改成一个无关的很小的数据之后就可以了,原因不是很清楚,有知道的麻烦告诉我一声,谢谢了。
要吃饭,所以必须学会驱动开发!!!
游客

返回顶部