Функция libusb_handle_events_timeout постоянно возвращает LIBUSB_ERROR_NOT_FOUND в cppC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Функция libusb_handle_events_timeout постоянно возвращает LIBUSB_ERROR_NOT_FOUND в cpp

Сообщение Anonymous »

Я использую libusb в Windows для работы с несколькими USB-устройствами с использованием контекста по умолчанию.
Для поддержки горячих плагинов я регистрируюсь для событий Windows, а не для libusb.
Я работаю бесконечно, пока цикл в отдельной функции потока, и внутри цикла while я вызываю libusb_handle_events_timeout.
И я приостанавливаю этот поток на 5 секунд, когда libusb_handle_events_timeout возвращает что-либо меньшее, чем LIBUSB_SUCCESS и продолжение цикла while.
Если какое-либо устройство отключено во время какой-либо передачи, функция libusb_handle_events_timeout постоянно возвращает LIBUSB_ERROR_NOT_FOUND.
Даже после освобождения интерфейса и закрытия дескриптора эта проблема видна.
Я не могу работать с этим устройством даже после повторного подключения.
Как решить эту проблему?
while (1)
{
struct timeval tv = { 5, 0 };
r = libusb_handle_events_timeout(NULL, &tv);

if (r < LIBUSB_SUCCESS)
{
DDEBUG("ERROR: In Device Communication Thread. r = "

Подробнее здесь: https://stackoverflow.com/questions/792 ... ror-not-fo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»