我现在有一个自己做的USBHID设备,该设备循环的向计算机发送0到5六个数字。现在导师要求编写一个过滤驱动,拦截到这些数据,然后把偶数都编程字母,再发送给主机!
我的想法是:
在过滤驱动中对IRP_MJ_Read设一个完成例程,在该IRP被底层驱动完成后,再从该IRP中把读取的数据取出来,判断读的是奇数还是偶数,如果是奇数,就直接结束,如果是偶数,就改变数据,再结束IRP。
问题:
1. 这样做对不对?
2. 如果是对的,那么读取的数据是不是由IRP->Associatedirp.systembuffer记录