Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有三个磁盘:disk0、disk1、disk2。每个设备都会调用 Evtdeviceadd 例程 3 次。现在我想捕获读取的 IRP,当它来自磁盘 1 时,我想将目标从磁盘 1 更改为磁盘 2。那么我将如何区分我从disk1获得的请求。为此,如果我能够获得设备属性,那么我可以了解或任何其他解决方案?
当您添加这些磁盘时,在您的设备添加例程中创建一个扩展结构并分配一个上下文 WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&objectAttribs, XX_EXTENSION); WdfObjectAllocateContext(设备,&objectAttribs,NULL);
通过在该结构中具有标识符来区分它们。
您将能够在请求回调中访问队列对象。从队列对象中获取设备对象,并从中获取您的扩展结构和标识符。