阅读:1381回复:4
请求中断驱动的问题Walter Oney的例子,使用完成例程循剑中断。具体是:StartInterruptUrb构造并提交中断请求URB;完成例程OnInterrupt开始新一轮循剑,该例程完成队列中的一个IRP(用户太应用程序使用DeviceIoControl提出请求)。 有没有人看过这个例子? 其中的IRP队列怎样一个工作方式? 感觉这个队列中只能有一个IRP,而不可能保存多个 另外,驱动中实现中断传输,可以不用循剑吧 用户每提出请求,则构造并提交一个urb,等待完成 这样做有失严格吗? |
|
|
沙发#
发布于:2002-04-29 11:25
是不是例子中的队列只起到保存1个当前IRP的作用? |
|
|
板凳#
发布于:2002-04-30 10:14
:(( 每人回? |
|
|
地板#
发布于:2002-04-30 15:05
我没有仔细研究过这个例子。不过。对于irp队列。我的理解是:可以保存多个irp。其实,所谓的队列,在数据结构里面有详细的介绍,不知道你是否还给了老师:) |
|
|
地下室#
发布于:2002-05-01 10:26
队列得作用当然是用于排队处理多个元素,只是这个例子一直让我胡涂。现在想清楚了,原来恨simple: 这个usbint本身在调用通用驱动的cache irp函数排队ioctl irp实际只是为了保存当前中断传输请求irp;这里的队列是下层的通用驱动程序所使用的。 呵呵 不过,好多东西确实都还给了老师,在他批期末考试试卷的时候 :) |
|
|