阅读:1222回复:7
主机发送urb后,会做什么其他的事情,才真正完成此次urb?
主机传递urb的时候,程序应该有个地方等待urb传递完成。如果传递完成了,主机会做什么事情来结束此次传输呢?
超时呢? 会重传? 在linux 代码中,此函数为wait_for_completion() |
|
沙发#
发布于:2004-09-15 13:43
由低层usbd驱动进行传送或重传,完成后才返回
:) :) |
|
板凳#
发布于:2004-09-15 15:21
返回后呢?
我在看linux的代码,总觉得它做了一些事情,比如清除urb,把qh状态恢复 等等这类的事情。 完了,我自己都糊涂了,有人明白么? :( :( |
|
地板#
发布于:2004-09-15 15:43
应该是 complete 函数
这个函数完成什么内容呢? |
|
地下室#
发布于:2004-09-16 11:04
应该是 complete 函数 善后的一些处理工作,可空 |
|
|
5楼#
发布于:2004-09-16 11:26
URB是附带在IRP上进行传输下去的
如果你想在URB完成以后做什么事情的话 就设定完成例程 不想做什么就传下去就行了,结束 个人理解! :) |
|
|
6楼#
发布于:2004-09-16 15:23
对啊,楼上的,就是完成例程里,正常应该做些什么呢?
哈哈,始终不清楚该怎么描述。 |
|
7楼#
发布于:2004-09-17 09:22
可能看个例子就能明白,看看ddk的例子程序可能会有收获
|
|