ic2001wsd
驱动牛犊
驱动牛犊
  • 注册日期2002-03-30
  • 最后登录2002-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1175回复:1

过滤驱动程序中如何能改变鼠标报告的数据??

楼主#
更多 发布于:2002-12-11 11:23
请问在这个鼠标过滤驱动程序中,如何在向上层驱动程序报告之前我能改变鼠标报告的数据??
也就是说我应该如何去操作获取的数据?
简单点,比如实现鼠标数据取反?请高手帮我改改这个代码,多谢!
VOID
MouFilter_ServiceCallback(
    IN PDEVICE_OBJECT DeviceObject,
    IN PMOUSE_INPUT_DATA InputDataStart,
    IN PMOUSE_INPUT_DATA InputDataEnd,
    IN OUT PULONG InputDataConsumed
    )
/*++
Routine Description:
    Called when there are mouse packets to report to the RIT.  You can do anything you like to the packets.  For instance:
    o Drop a packet altogether
    o Mutate the contents of a packet
    o Insert packets into the stream
Arguments:
    DeviceObject - Context passed during the connect IOCTL
    InputDataStart - First packet to be reported  
    InputDataEnd - One past the last packet to be Reported.  Total number of packets is equal to InputDataEnd - InputDataStart  
    InputDataConsumed - Set to the total number of packets consumed by the RIT   (via the function pointer we replaced in the connect IOCTL)
Return Value:
    Status is returned.
--*/
{
    PDEVICE_EXTENSION   devExt;
    devExt = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
    //
    // UpperConnectData must be called at DISPATCH
    //
    (*(PSERVICE_CALLBACK_ROUTINE) devExt->UpperConnectData.ClassService)(
      devExt->UpperConnectData.ClassDeviceObject,
        InputDataStart,
        InputDataEnd,
        InputDataConsumed
        );
}
驱动小虫
ic2001wsd
驱动牛犊
驱动牛犊
  • 注册日期2002-03-30
  • 最后登录2002-12-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-12 14:43
就在这一段中就可以实现
IN PMOUSE_INPUT_DATA InputDataStart,
IN PMOUSE_INPUT_DATA InputDataEnd,
IN OUT PULONG InputDataConsumed
这几个数据我不知道应该怎么去操作它
哪位高手来几笔哦
多谢多谢
驱动小虫
游客

返回顶部