wujiajun
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1360回复:3

HELP:控制传输的问题?

楼主#
更多 发布于:2002-10-12 16:36
NTSTATUS MyUsbDrv1Device::MYUSBDRV1_IOCTL_GETDECR_Handler(KIrp I)
{
NTSTATUS status = STATUS_SUCCESS;
PUSB_DEVICE_DESCRIPTOR pdeviceDescriptor=(PUSB_DEVICE_DESCRIPTOR)ExAllocatePool(NonPagedPool,sizeof(USB_DEVICE_DESCRIPTOR));

I.Information()=18;
m_Lower.GetDeviceDescriptor(pdeviceDescriptor);

return status;
}
我想通过上述代码得到USB的设备描述符,用softice调试,在结构变量pdeviceDescriptor里已经显示出接收到的正确的数据,可是无法返回到应用程序的bufOutput缓冲区中。看帮助里说,在结束例程前,先在information里设置返回的字节数,我代码里这样设置行吗?还会有什么问题呢?望大侠能多多赐教!
wujiajun
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-14 09:57
望用过driverworks编程的高手能给予帮助,我想这是一个很简单的问题,可就是不知道卡在哪了。
bbear
驱动小牛
驱动小牛
  • 注册日期2002-08-20
  • 最后登录2009-04-16
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-14 19:46
你要
wujiajun
驱动牛犊
驱动牛犊
  • 注册日期2002-07-24
  • 最后登录2006-11-30
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-10-15 00:06
多谢bbear(加分),我看了下例程,添加了两行代码,顺利收到了设备描述符,如下:

ULONG DevDescSize=sizeof(USB_DEVICE_DESCRIPTOR);
PUSB_DEVICE_DESCRIPTOR pdevDesc =(PUSB_DEVICE_DESCRIPTOR)  ExAllocatePool(NonPagedPool,DevDescSize);

m_Lower.GetDeviceDescriptor(pdevDesc);
I.IoctlBuffer()=pdevDesc;
I.Information() = DevDescSize;
status=I.Status();

return status;
游客

返回顶部