我在写一个68013的win驱动,在IOCTROL中想使用控制端点从上层传递给68013的SETUPDAT寄存器和EP0BUF数据,使用的URB是_URB_CONTROL_VENDOR_OR_CLASS_REQUEST,测试发现SETUPDAT寄存器的确能够收到相应的数据,但是一旦将_URB_CONTROL_VENDOR_OR_CLASS_REQUEST结构中的TransferBufferLength设置到一个较小的值,以及填充TransferBuffer后,那么驱动的IoCallDriver调用底层驱动的时候,就会返回一个PENDING,而将TransferBufferLength设置很大或者置0(置0的时候TransferBuffer就设为NULL),这么做驱动就不会pending了,有人知道原因么,还是EP0BUF的数据不应该是这样接受到数据的?请赐教 |