macy
禁止发言
禁止发言
  • 注册日期2001-12-19
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分6383分
  • 威望48270点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1364回复:7

老鼠,可否再帮我看看?

楼主#
更多 发布于:2002-04-20 14:46
用户被禁言,该主题自动屏蔽!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-21 00:36
不会啊!我以前用也没有注意这个成员啊!
不知道你现在还有什么问题了!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-21 00:44
我估计就是你的填充缓冲区部分有问题!
因为如果不是IO_DIRECT方式的话,那么数据缓冲区在
UserBuffer指针指向的地址里面了!而你却把数据添错了
不知道你是不是在完成例程里面进行处理的呢?
当在这里处理的话就要注意IRQL是否是PASSIVE了!
一般上调用完成例程的时候数据不一定就读出来了!有可能下层驱动给你返回的这个IRP是还在排队的!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-21 00:54
ByteOffset的这个值指的是要读写的文件偏移,就象这样吧!
LENGTH=10;
BUFFERN[10]={‘A’};
ByteOffset=5;
A文件内容是
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ
指的是把缓冲区BUFFERN写到文件A,里面,并且是从文件内容的6开始写,写十个字符,结果这样的处理之后变成了
12345AAAAAAAAAAFGHIJKLMNOPQRSTUVWXYZ


guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-21 01:14
pBuffer= Irp->UserBuffer;
pBuffer += offset.LowPart;
Length = currentIrpStack->Parameters.Read.Length;
if(pBuffer)
{
for(i=0;i<Length;i++)
{
*(pBuffer+i) = *(pBuffer+i)+2;
}
}
你的这部分代码意思是从Irp->UserBuffer开始偏移offset.LowPart之后的字符全部加2吧!修改的长度为Length吧!
那么这个是错误的
因为Irp->UserBuffer总共的大小才是Length
macy
禁止发言
禁止发言
  • 注册日期2001-12-19
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分6383分
  • 威望48270点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-04-21 16:41
用户被禁言,该主题自动屏蔽!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-21 21:13
我不知道你是怎么做的!要拷贝文件吗?
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-21 21:14
其实也不要灰心!开始的时候就是这样,多看看帮助,多看例子,有时候还要看DDK里面的一些结构定义!说不定里面有没公开的东西呢
游客

返回顶部