求WDF发送URB的方法。

TheNewIpad 2012-12-12 10:20:38
原来基于WDM的驱动大量使用URB, 现在有一个逻辑,需要在prepareHarware(原来是startDevice)的时候,主动给设备发送发送一点东西,发送的是URB信息。 求相应的方法。
...全文
117 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
曹大夯 2012-12-14
  • 打赏
  • 举报
回复
赶上了。
TheNewIpad 2012-12-14
  • 打赏
  • 举报
回复
问题已经解决, 求关注,来人结贴。
TheNewIpad 2012-12-12
  • 打赏
  • 举报
回复
URB urb;
NTSTATUS ntStatus     = STATUS_SUCCESS;
PURB pUrb             = &urb;
PDEVICE_CONTEXT          pDevContext;
WDFUSBPIPE               stUSBPipe;

RtlZeroMemory(pUrb,sizeof(struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST));

pUrb->UrbHeader.Length   = sizeof(struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST);
pUrb->UrbHeader.Function = URB_FUNCTION_VENDOR_DEVICE;
pUrb->UrbControlVendorClassRequest.TransferBufferLength = ptr->Length;
pUrb->UrbControlVendorClassRequest.TransferBuffer       = ptr->Data;
pUrb->UrbControlVendorClassRequest.Request              = 0xA3;
pUrb->UrbControlVendorClassRequest.Value                = ptr->Address;
pUrb->UrbControlVendorClassRequest.Index                = 0;

pDevContext = CyGetDeviceContext(device);
stUSBPipe = WdfUsbInterfaceGetConfiguredPipe(WdfUsbTargetDeviceGetInterface(pDevContext->CyUsbDevice, 0), 0, NULL);

return WdfUsbTargetPipeSendUrbSynchronously(stUSBPipe, NULL, WDF_NO_SEND_OPTIONS, pUrb);
这么请求, 发发生蓝屏, BUGCODE 10D. 调用WdfUsbTargetPipeSendUrbSynchronously时发生崩溃. 求答案或者解释.

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧