W驱开技详.过滤驱动

1、对于 下面这2个概念 不太明白... 一直搞不清楚 什么关系...

  1.1、PDRIVER_OBJECT->DriverExtension->AddDevice = 

   #pragma PAGEDCODE
   NTSTATUS ???AddDevice(IN PDRIVER_OBJECT DriverObject,IN PDEVICE_OBJECT DeviceObject) { ... ...}

  1.2、IoAttachDeviceToDeviceStack

  ZC:对于上面的 “#pragma PAGEDCODE”,是指明 代码处于 什么段,我不知道 它的作用域 有多大(是从这个开始 一直到遇到别的定义?没有的话 就一直到本文件结束?)。我看 书中的代码,它的做法大概是 在每一个函数前 都指明 是处于什么段,我也可以使用这种方式

  ZC:搜索了一下,书中的所有代码,大概理解:(20181210)

  ZC:  (1)、对于 普通驱动  函数“???AddDevice(...)”的传入参数DeviceObject 是指 本驱动的 物理设备对象

  ZC:  (2)、对于 过滤驱动  函数“???AddDevice(...)”的传入参数DeviceObject 是指 绑定到的驱动的 设备占上的某个设备对象(位置 不一定,可能是 顶层/底层/中间某一个...)

2、

3、

4、

5、

 

posted @ 2018-12-10 15:41  DriverSkill  阅读(219)  评论(0编辑  收藏  举报