Windows 如果在基于kmdf的过滤器驱动程序中有wdfdevice和wdftarget,如何获取设备的属性?

Windows 如果在基于kmdf的过滤器驱动程序中有wdfdevice和wdftarget,如何获取设备的属性?,windows,filter,disk,drivers,kmdf,Windows,Filter,Disk,Drivers,Kmdf,我有三张磁盘:磁盘0,磁盘1,磁盘2。Evtdeviceadd例程将为每个设备调用3次。现在我想捕获读IRP,当它来自disk1时,我想将目标从disk1更改为disk2。那么,我如何区分从disk1获得的请求呢。为此,如果我能够获取设备属性,那么我就可以了解或了解任何其他解决方案?添加这些磁盘时,在设备添加例程中创建扩展结构并分配上下文 WDF_对象_属性_初始_上下文_类型(&objectAttribs,XX_扩展名); WdfObjectAllocateContext(设备和对象属性,NU

我有三张磁盘:磁盘0,磁盘1,磁盘2。Evtdeviceadd例程将为每个设备调用3次。现在我想捕获读IRP,当它来自disk1时,我想将目标从disk1更改为disk2。那么,我如何区分从disk1获得的请求呢。为此,如果我能够获取设备属性,那么我就可以了解或了解任何其他解决方案?

添加这些磁盘时,在设备添加例程中创建扩展结构并分配上下文 WDF_对象_属性_初始_上下文_类型(&objectAttribs,XX_扩展名); WdfObjectAllocateContext(设备和对象属性,NULL)

通过在该结构中具有标识符来区分它们

您将能够访问请求回调中的队列对象。从队列对象获取设备对象,并从中获取扩展结构和标识符