在MacOS和Iokit上实施USB阅读超时
Implementing USB read timeout on MacOS and IOKit
我正在尝试为我的应用程序实现USB驱动程序。看起来所有主要功能,例如初始化,读写和写作冷,可以轻松地使用iokit实现。但是我面临的问题是阅读超时,更真正地缺少该功能。
实际上,我使用本教程来创建我的USB驱动程序。
例如,我的阅读代码看起来如下:
QByteArray Read(UInt32 size)
{
IOReturn result;
char buffer[size];
result = (*m_interface)->ReadPipe(m_interface, m_pipeIn, buffer, &size);
if(result != kIOReturnSuccess)
{
SetError("Error reading from pipe", IErrorrable::ErrorTypes::Error, result);
return QByteArray();
}
return QByteArray(buffer, size);
}
我不知道如何实现此功能的阅读超时。如果有人能提供帮助,我会很感激。
使用ReadPipeTO
功能而不是ReadPipe
。还有一个异步版本,ReadPipeAsyncTO
可能很感兴趣。
您可能需要要求IOUSBInterfaceInterface
的较新版本比您当前使用的版本,但这不是问题,因为大多数人都返回PPC天的OS X版本。
相关文章:
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 插入或删除时获取usb的dos_name
- C++减少modbus_connect超时
- 没有超时的C++条件变量
- 使用 VID、PID、+SN 查找 USB 端口号
- USB传输的LibUSB C++格式不同
- 从 GUID 获取 USB 卷路径
- 如何在C++(VS2010)中设置超时读取USB端口?
- 如何在 MAC OS c/c++ 中阻止 USB 存储设备
- Android Java USB for native cpp
- C++卷曲柱在curl_easy_perform超时
- mbed:使用 USB 文档库编译会导致错误
- 如何集成 HID USB 控制器?
- 如何在Qt 4.8中阻止/忽略/丢弃早于特定超时的用户输入事件
- 在Windows(C++)中使用USB相机拍摄高分辨率照片
- 如何改进我的代码,使其不会因超时而终止?(黑客排名挑战)
- 如何检测 USRP USB 类型?
- C++:函数外部的超时功能
- 使用boost::multiprecision cpp_int左移时出现超时错误
- 在MacOS和Iokit上实施USB阅读超时