阅读:1635回复:1
关于diskperf
在diskperf例程中,
#define FILTER_DEVICE_PROPOGATE_CHARACTERISTICS (FILE_REMOVABLE_MEDIA | \ FILE_READ_ONLY_DEVICE | \ FILE_FLOPPY_DISKETTE \ ) propFlags = TargetDevice->Characteristics & FILTER_DEVICE_PROPOGATE_CHARACTERISTICS; FilterDevice->Characteristics |= propFlags; 以上两语句, 实现了在pnp事件start中对目标设备对象的特性属性做了更改,根据定义, 是不是应该创建的对象 只对REMOVEABLE 和READ_ONLY和FLOPPY设备处理. 如果我理解的对的话, 不应该处理拦截硬盘IRP呀, 可是 我的却都拦截了. 还有, 这个设备对象特征属性是不是能在创建IOCREATEDEVICE是定义? 而diskperf 为身摸要在pnp中添加设备时 才定义? 望指点一下? 先谢谢了! |
|
|
沙发#
发布于:2010-03-19 18:21
下午才明白.
(FILE_REMOVABLE_MEDIA | \ FILE_READ_ONLY_DEVICE | \ FILE_FLOPPY_DISKETTE \ ) 只是设备特性, 而非我理解的设备特征(类型)的意思. 我跟踪了下, 发现一直是*SERU_OPEN(0x100), 也就 是说 propFlags = TargetDevice->Characteristics & FILTER_DEVICE_PROPOGATE_CHARACTERISTICS; FilterDevice->Characteristics |= propFlags 语句没效? 今天下班了, 星期一再仔细看看吧. |
|
|