阅读:1467回复:2
USB驱动中关于READ的问题,大家都来看看啊,急啊!
我现在用DRIVERSTUDIO写了一个USB的驱动,写功能正常,但现在在读操作的驱动中,当建立URB时计算机就REBOOT了,这是为什么呀,大家来帮忙啊.我的设备用的是D12,设置为D12的端口2为BULK输入与输出,我在驱动中让Pipe00作为bulk输出,而Pipe01作为bulk输入.
…… Pipe00.Initialize(m_Lower, 2, 64); Pipe01.Initialize(m_Lower, 82, 64); …… ULONG readSize = I.ReadSize(CURRENT); ULONG bytesRead = 0; ULONG dwMaxSize = Pipe01.MaximumTransferSize(); T.Trace(TraceInfo,__FUNCTION__" hjl. readSize= %d\n", readSize); if(readSize > dwMaxSize){ ASSERT(dwMaxSize); readSize = dwMaxSize; } PURB pUrb = Pipe01.BuildBulkTransfer( Mem, // Where is data coming from? readSize, // How much data to read? TRUE, // direction (TRUE = IN) NULL, // Link to next URB TRUE,//FALSE NULL ); …… 在上述代码中,当执行ULONG dwMaxSize = Pipe01.MaximumTransferSize();语句时也会使计算机reboot,看起来现在好象是当操作Pipe01(输入端口)时就会重起,晕死了啊 |
|
最新喜欢:![]()
|
沙发#
发布于:2005-06-27 16:22
没人回答啊,高手们帮帮我啊!!!
请各位不吝指教哦,先谢谢了! |
|
|
板凳#
发布于:2005-06-30 08:38
在读时你要根据RING3所读数据的大小,对所读信息的长度进行设置,目的是让设备管理器知道。
|
|
|