wengzuhong
驱动小牛
驱动小牛
  • 注册日期2004-07-16
  • 最后登录2014-10-22
  • 粉丝3
  • 关注1
  • 积分9分
  • 威望262点
  • 贡献值0点
  • 好评度219点
  • 原创分0分
  • 专家分0分
阅读:903回复:1

xiangxiangren 老大,在吗? tooflat的代码与楚老大的代码?????问题

楼主#
更多 发布于:2007-06-04 14:17
tooflat的代码中sfread涵数没有以下代码.  
楚老大的书中有,   按楚老大的意思,可以在sfread中处理完加解密代码,不用在sfreadcomplete中处理.
但,sfreadcomplete这时候应该返回什么值,才能让 if(STATUS_PENDING == Status)
成立,进入waiting代码中????????????

KeInitializeEvent(
                &waitEvent,
                NotificationEvent,
                FALSE);
            IoCopyCurrentIrpStackLocationToNext(Irp);
            IoSetCompletionRoutine(
                Irp,
                SfReadCompletion,
                &waitEvent,
                TRUE,
                TRUE,
                TRUE);
            Status = IoCallDriver(DevExt->AttachedToDeviceObject, Irp);
            if(STATUS_PENDING == Status)
            {
                Status = KeWaitForSingleObject(
                    &waitEvent,
                    Executive,
                    KernelMode,
                    FALSE,
                    NULL);
                ASSERT(STATUS_PENDING == Status);
wengzuhong
驱动小牛
驱动小牛
  • 注册日期2004-07-16
  • 最后登录2014-10-22
  • 粉丝3
  • 关注1
  • 积分9分
  • 威望262点
  • 贡献值0点
  • 好评度219点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-04 14:18
一定要有折断代码吗?直接获取数据不行吗?
游客

返回顶部