【发布时间】:2015-08-16 22:14:35
【问题描述】:
为了访问连接在我的计算机上的 USB HID 设备,我使用了 pywinusb 包中的函数 find_all_hid_devices()。
现在我想从异步协程访问这个 HID 设备。用下面的代码
@asyncio.coroutine
def main():
from pywinusb import hid
a = hid.find_all_hid_devices()
返回如下错误:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pywinusb\hid\core.py", line 122, in find_all_hid_devices
for interface_data in winapi.enum_device_interfaces(h_info, guid):
File "C:\Python34\lib\site-packages\pywinusb\hid\winapi.py", line 466, in enum_device_interfaces
byref(dev_interface_data) ):
ctypes.ArgumentError: argument 1: <class 'OverflowError'>: int too long to convert
对hid.find_all_hid_devices() 的相同调用却可以在没有 asyncio 的普通 main 中独立工作。
这是因为我试图在协程中访问吗?实现这一目标的正确方法是什么?
【问题讨论】:
标签: python python-3.x python-asyncio pywinusb