首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >取消WinUSB异步控制传输

取消WinUSB异步控制传输
EN

Stack Overflow用户
提问于 2010-01-10 12:33:47
回答 1查看 1.4K关注 0票数 3

对于使用WinUSB的用户应用程序(而不是驱动程序),我使用WinUsb_ControlTransfer与重叠I/O相结合异步发送控制消息。是否可以取消异步操作?WinUsb_AbortPipe适用于所有其他端点,但在传递控制端点(0x00或0x80作为管道地址)时会出现“无效参数”错误。我也尝试过CancelIo和CancelIoEx,但是在WinUSB句柄上都出现了一个“无效句柄”错误。我能找到的唯一相关信息是在http://www.winvistatips.com/winusb-bugchecks-t335323.html上,但没有提供任何解决方案。这是不可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 17:11:38

可能对原始请求者不再有用,但是如果其他人遇到这种情况,您可以在最初传入的文件句柄中使用CancelIo()CancelIoEx()

这与WinUsb_GetOverlappedResult文档中的内容类似:

这个函数就像Win32 API例程GetOverlappedResult,有一个不同之处--调用者传递的不是从CreateFile返回的文件句柄,而是传递从WinUsb_Initialize返回的接口句柄。如果传递了适当的句柄,调用方可以使用任何一个API例程。WinUsb_GetOverlappedResult函数从接口句柄中提取文件句柄,然后调用GetOverlappedResult.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2037004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档