多程序同时与同一USB设备通信问题
问题:有一USB设备,方式是HID,读取方式是,分别用CreateFile建立读和写的独立通道。向USB发送一条指令,反回一条执行结果,即每个writefile 之后必须 readfile 一次。
但是当我打开同一个程序的两个实例时。即A与B,同时与USB进行通信。此时我发现,A或者B发送一条命令能USB时,USB反回的数据,都存在于A和B的驱动队列中。此时如果A再writefile之后,再readfile可能读到B通信时USB反回来的数据。
即做如下定义,
A第一次发送数据为:A_w_1,读取数据回来时为,A_r_1,
B第一次发送数据为:B_w_1,读取数据回来时为,B_r_1,
即当我同时与USB进行通信时。先
A_w_1
A_r_1
再
B_w_1时。此时读取出来的数据为A_r_1再读取一次数据才会是B_r_1
请问这种情况下,我如何知道readfile里面那条才是我需要的数据?驱动读队列中有还存在几条数据?