lethebalmy
驱动牛犊
驱动牛犊
  • 注册日期2009-03-16
  • 最后登录2009-07-29
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1306回复:1

我的驱动向设备内存写数据时有问题,求解答啊

楼主#
更多 发布于:2009-03-23 19:37
下面是代码:
WRITE_REGISTER_BUFFER_ULONG(pdx->currentaddr,pdx->ReadWriteBuffer,pdx->ReadWriteLength);
for(i=0;i<pdx->ReadWriteLength;i++)
 {
                    
KdPrint((DRIVERNAME " - Before Write is %lX\n", pdx->ReadWriteBuffer));
                        
 }            

pdx->currentaddr,pdx->ReadWriteBuffer都是PULONG的,当pdx->ReadWriteLength大于512后,pdx->currentaddr指向的内存的基地址并没有被写入,但是从基地址开始的值却变化了,结果就成了这样:本来写内存之后的结果应该是0,1,2......1FF,200,201,202,实际结果成了200,201,202,3,4........1FF,A00,A00,A00。实在是不知道为什么大于512之后的内存地址不能写入,而基地址以后的值却被修改了
zlf1110
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分39分
  • 威望365点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-22 23:18
是不是跨页操作了,不允许啊?
又把前面的数据覆盖了。
zlf1110
游客

返回顶部