iClinux
驱动牛犊
驱动牛犊
  • 注册日期2004-12-31
  • 最后登录2005-04-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1011回复:0

请问Usb驱动中的厂商请求

楼主#
更多 发布于:2005-01-28 09:09
驱动是用driver works生成的,然后按照网上的例子添加了如下代码:
NTSTATUS USB_Card_0_4Device::USB_CARD_IOCTL_800_Handler(KIrp I)
{
NTSTATUS status = STATUS_SUCCESS;
//NTSTATUS status = STATUS_INVALID_PARAMETER
t << "Entering USB_Card_0_4Device::USB_CARD_IOCTL_800_Handler, " << I << EOL;
__try
{
if(I.IoctlOutputBufferSize() || !I.IoctlBuffer() ||
(I.IoctlInputBufferSize() != sizeof(UCHAR)))
__leave;
status to STATUS_PENDING.
PURB pUrb = m_Lower.BuildVendorRequest(
NULL,
0,
0,
(UCHAR)(*(PUCHAR)I.IoctlBuffer()), // request. 1 = LED_ON, 0 = LED_OFF
1
);
status = m_Lower.SubmitUrb(pUrb, NULL, NULL, 5000L);
}

__finally
{
I.Information() = 0;
I.Status() = status;
}
return status;
}
运行测试程序时,出现了以下错误:
>Test_USB_Card_0_4.exe i 0
Test application Test_USB_Card_0_4 starting...
Device found, handle open.
Issuing Ioctl to device - ERROR: DeviceIoControl returns 57. Exiting...
出错代码57,driverstudio的文档中查不到,ddk文档中也查不到,usb设备在整个ioctl过程中没有收到中断,请问这可能是什么原因呢?谢谢; )


[编辑 -  1/28/05 by  iClinux]
life is right in any case.
游客

返回顶部