3612|5

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于键盘驱动,过滤 [复制链接]

代码如下:
NTSTATUS c2pDispatchRead(
                              IN PDEVICE_OBJECT DeviceObject,
                              IN PIRP Irp )
{
    NTSTATUS status = STATUS_SUCCESS;
    PC2P_DEV_EXT devExt;
    PIO_STACK_LOCATION currentIrpStack;
    KEVENT waitEvent;
    KeInitializeEvent( &waitEvent, NotificationEvent, FALSE );

        if (Irp->CurrentLocation == 1)
        {
                ULONG ReturnedInformation = 0;
                KdPrint(("Dispatch encountered bogus current location\n"));
                status = STATUS_INVALID_DEVICE_REQUEST;
                Irp->IoStatus.Status = status;
                Irp->IoStatus.Information = ReturnedInformation;
                IoCompleteRequest(Irp, IO_NO_INCREMENT);
                return(status);
        }

    // 全局变量键计数器加1
    gC2pKeyCount++;

    // 得到设备扩展。目的是之后为了获得下一个设备的指针。
    devExt =
        (PC2P_DEV_EXT)DeviceObject->DeviceExtension;

    // 设置回调函数并把IRP传递下去。 之后读的处理也就结束了。
    // 剩下的任务是要等待读请求完成。
    currentIrpStack = IoGetCurrentIrpStackLocation(Irp);
    IoCopyCurrentIrpStackLocationToNext(Irp);
    IoSetCompletionRoutine( Irp, c2pReadComplete,
        DeviceObject, TRUE, TRUE, TRUE );
    return  IoCallDriver( devExt->LowerDeviceObject, Irp );        
}
问题:为什么要在开始判断Irp->CurrentLocation == 1;而对于是一的情况为什么有返回了。请帮忙,谢谢

最新回复

不知道啊,也想知道下答案,为什么跑判断==1呢?又为什么==1了就返回  详情 回复 发表于 2009-12-18 14:38
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个问题请到开发版提问,谢谢!
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
自己帮忙顶下 。呵呵
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

4
 
没有人回答么~~~~?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
up-up
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

6
 
不知道啊,也想知道下答案,为什么跑判断==1呢?又为什么==1了就返回
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表