阅读:1975回复:4
【求助】下层驱动传送数据给上层驱动的问题
我在串口上面写了一个自定义485协议驱动,这个驱动是attach到windows已有的串口驱动上的,应用程序打开驱动进行写操作,这个没有问题。问题在于下层串口驱动接收到数据后,立即传送给485驱动啊?
![]() 采用超时轮询有没有数据的方法不好。 |
|
沙发#
发布于:2010-11-18 18:26
没看明白你说的什么意思。你是想监控写操作,读操作,还是其他的?要是监控写的话,直接在IrpDispatch中就可以了;读的话,就需要一个CompleteRoutine
|
|
板凳#
发布于:2010-11-19 09:00
回 1楼(lyk_ffl) 的帖子
要设置CompleteRoutine,那必定是上层驱动主动发送IRP到下层的时候设置的,对吧?我的意思是,我的电脑做为服务器的话,是被动的,什么时候来请求它也不知道,这个时候下层串口驱动该如何通知上层驱动来取数据? |
|
地板#
发布于:2010-11-19 09:34
CompleteRoutine是在上层驱动设置的啊,设置他的目的就是当下层驱动CompleteRequest后,上层驱动即能回调这个函数,而不是直接发送的下层驱动就管不了了。所以呢,当下层驱动被动收到数据后,完成Request后,在往上回传完成消息时,经过上层驱动,就会进入CompleteRoutine函数了;下层驱动没有收到数据时,就处于等待
|
|
地下室#
发布于:2010-11-19 10:28
回 3楼(lyk_ffl) 的帖子
3Q,我试试 |
|