linpin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录2003-06-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1396回复:5

就是读不出来啊!zwcreatefile,zwreadfile

楼主#
更多 发布于:2002-10-24 17:18
代码如下:

RtlInitUnicodeString( &namestring, L\"\\\\??\\\\D:\\\\thesis.zip\");
InitializeObjectAttributes(&objectattributes,
&namestring,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
status=ZwCreateFile( &filehandle,
SYNCHRONIZE|FILE_ANY_ACCESS,
        &objectattributes,
&iostatus,
NULL,
FILE_ATTRIBUTE_NORMAL,
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
        FILE_OPEN,
        FILE_SYNCHRONOUS_IO_NONALERT,
        NULL,
0 );

dataofst.QuadPart=0;

if(NT_SUCCESS(status))
   {
if(KeGetCurrentIrql()<DISPATCH_LEVEL) //分批读文件
  //////////////////////////////////
  //////////////////////////////////
 {do{  
        status=ZwReadFile( &filehandle,
NULL,
        NULL,
        NULL,
                 &iostatus,
        databuffer,
                 DATABUFFER_SIZE,
                 &dataofst,
        NULL);

            
dataofst.QuadPart+=DATABUFFER_SIZE;

     if(!NT_SUCCESS(status)) DbgPrint(\"error %L\",status);

  }while(NT_SUCCESS(status));
 }
}

用softice跟踪,filehandle有的,0x000001c4;但数据一次都读不到
是什么问题啊?救命啊!都4天了!
  :mad: :(

还有一个小问题,就是,dbgprint的输出值在哪里看啊????
 
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-10-24 17:26
在si看
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-24 17:36
SoftIce的命令窗就可以看到,同时你可以在应用层打开DbgView软件可以看到调试输出。DbgView可以www.sysinternals.com下载。
Tom_lyd
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-25 08:37
ZwReadFile第一个参数应该是FileHandle,不是@FileHandle吧!
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-25 08:39
ZwReadFile第一个参数应该是FileHandle,不是@FileHandle吧! 你要注意看返回值,很有用的,比打印输出管用。我觉得你的返回值肯定是“非法句柄”。

[编辑 -  10/25/02 by  tigerzd]
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
linpin
驱动牛犊
驱动牛犊
  • 注册日期2001-08-11
  • 最后登录2003-06-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-25 09:38
终于搞定了,谢谢各位的解答,特别是tigerzd大虾
游客

返回顶部