Я пытаюсь реализовать драйвер 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);
}
Понятия не имею, как реализовать тайм-аут чтения для этой функции. Буду очень признателен, если кто-нибудь сможет помочь.