近来在看 《寒江独钓 windows内核编程》,看到键盘过滤部分,记下笔记,仅供参考,有理解不对之处,还望大家指正。
现在来说一下传统型键盘过滤,就是把自己的设备对象绑定在KbdClass设备对象之上。那么发送到KbdClass的IRP都会先经过自己的设备对象,我们可以在读派遣函数中设置完成例程,当IRP完成后在完成历程中得到按键信息。
KbdClass被称为键盘类驱动,在windows中,类...
分类:
其他好文 时间:
2014-07-30 17:27:54
阅读次数:
269
本节主要介绍驱动开发的一些基础知识。
1. 驱动程序的基本组成
1.1. 最经常见到的数据结构
a. DRIVER_OBJECT驱动对象
[cpp] view
plaincopy
// WDK中对驱动对象的定义
// 每个驱动程序都会有一个唯一的驱动对象与之对应...
笔者学习驱动编程是从两本书入门的。它们分别是《寒江独钓——内核安全编程》和《Windows驱动开发技术详解》。两本书分别从不同的角度介绍了驱动程序的制作方法。
在我理解,驱动程序可分为两类三种:
第一类:传统型驱动
传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种:
...
近来在学驱动开发,自己写了一个简单地驱动程序,截取键盘按键,另外写的应用程序会显示按键。下面是驱动部分的关键代码,完整代码点击:猛戳这里
/**************************************************************/
#include "KeyFilter.h"
/*****************************************...
分类:
其他好文 时间:
2014-07-24 23:37:43
阅读次数:
252
从需求出发并不是一句空话,在开发过程中也是如此。
从需求出发,实质上是暗合了极限编程和测试驱动开发的一些思想。
鉴于网站开发是一个比较流行的方向,我打算从一个网站开始,阐述一下自己对“需求驱动开发“的理解,并将其引申到一个更广泛的领域。...
分类:
其他好文 时间:
2014-07-24 10:46:04
阅读次数:
266
从需求出发并不是一句空话,在开发过程中也是如此。
从需求出发,实质上是暗合了极限编程和测试驱动开发的一些思想。
鉴于网站开发是一个比较流行的方向,我打算从一个网站开始,阐述一下自己对“需求驱动开发“的理解,并将其引申到一个更广泛的领域。...
分类:
其他好文 时间:
2014-07-24 10:37:26
阅读次数:
395
从需求出发并不是一句空话,在开发过程中也是如此。
从需求出发,实质上是暗合了极限编程和测试驱动开发的一些思想。
鉴于网站开发是一个比较流行的方向,我打算从一个网站开始,阐述一下自己对“需求驱动开发“的理解,并将其引申到一个更广泛的领域。...
分类:
其他好文 时间:
2014-07-24 10:35:53
阅读次数:
373
从需求出发并不是一句空话,在开发过程中也是如此。
从需求出发,实质上是暗合了极限编程和测试驱动开发的一些思想。
鉴于网站开发是一个比较流行的方向,我打算从一个网站开始,阐述一下自己对“需求驱动开发“的理解,并将其引申到一个更广泛的领域。...
分类:
其他好文 时间:
2014-07-23 22:40:47
阅读次数:
699
一、什么是模块:
模块(module)是在内核空间运行的程序,实际上是一种目标对象文件,没有链接,不能独立运行,但是可以装载到系统中作为内核的一部分运行,从而可以动态扩充内核的功能。模块最主要的用处就是用来实现设备驱动程序。
使用模块的优点:
1,将来修改内核时,不必全部重新编译整个内核,可节省不少时间
2,系统中如果需要使用新模块,不必重新编译内核,只要插入相应的模块即...
分类:
其他好文 时间:
2014-07-23 20:56:35
阅读次数:
206