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、