admin管理员组文章数量:1130349
对象,尤其是设备对象是WINDOWS 驱动当中相当重要的概念之一。如果您看过了之前的系列博客之后,您会发现其实在内核模式下WINDOWS对于DRIVER的管理其实是把一个请求也就是REQUEST一级一级的传递,也就是利用链的方式来处理请求。那么DEVICE也就是这一级级传递当中必不可以的节点,而WINDOWS 对于DEVICE是利用OBJECT来进行管理的。
如果你想创建一个DEVICE的对象那么需要调用IoCreateDevice 这个函数来进行。然后咱们需要调用IoAttachDeviceToDeviceStack来把你的这个设备ATTACH到DEVICESTACK上面去。而DEVICESTACK这个栈实际上就是来完成一级一级向上调用的功能。简单说了DEVICE OBJECT的介绍咱们来看一下DEVICE OBJECT 的分类:
Physical Device Object (PDO) − 物理设备对象
Functional Device Object (FDO) − 功能设备对象
Filter Device Object (filter DO) − 过滤设备对象
那么这些设备对象是何时被创建的呢?
首先BUS DRIVER当BUS上面的设备被枚举的时候被创建。
BUS DRIVER的FILTERDRIVER在DEVICE被过滤的时候创建filter DO。
对象,尤其是设备对象是WINDOWS 驱动当中相当重要的概念之一。如果您看过了之前的系列博客之后,您会发现其实在内核模式下WINDOWS对于DRIVER的管理其实是把一个请求也就是REQUEST一级一级的传递,也就是利用链的方式来处理请求。那么DEVICE也就是这一级级传递当中必不可以的节点,而WINDOWS 对于DEVICE是利用OBJECT来进行管理的。
如果你想创建一个DEVICE的对象那么需要调用IoCreateDevice 这个函数来进行。然后咱们需要调用IoAttachDeviceToDeviceStack来把你的这个设备ATTACH到DEVICESTACK上面去。而DEVICESTACK这个栈实际上就是来完成一级一级向上调用的功能。简单说了DEVICE OBJECT的介绍咱们来看一下DEVICE OBJECT 的分类:
Physical Device Object (PDO) − 物理设备对象
Functional Device Object (FDO) − 功能设备对象
Filter Device Object (filter DO) − 过滤设备对象
那么这些设备对象是何时被创建的呢?
首先BUS DRIVER当BUS上面的设备被枚举的时候被创建。
BUS DRIVER的FILTERDRIVER在DEVICE被过滤的时候创建filter DO。
版权声明:本文标题:WINDOWS 7驱动开发系列(六)-认识内核的对象 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1728604452a873734.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论