Mr_Wolf писал(а): 29 сен 2025, 12:10Прошу помочь разобраться с этой ошибкой.
Сходу не могу сказать, в чём там дело. Больше 6 лет прошло как никак, у меня ни исходников под рукой, ни

32-битного. Код 3e5 (ERROR_IO_PENDING) - это не совсем ошибка, это значение говорит о том, что асинхронная операция (чтение) до сих пор не завершилась. А почему она не завершилась, большой вопрос. В примере ReadData0.vi чтение циклично выполняется до тех пор, пока не будут получены все данные (отсутствие ошибок на выходе ReadData.vi). Может быть, что-то не так с этим примером.

Видимо, из-за этого и финализация некорректно выполняется, что приводит к тому, что с устройством нельзя повторно работать. Насколько я помню, я логику работы никак не трогал своих фиксах. Библиотеки без DBG так же криво отрабатывают?
Пока могу предложить следующее:
- убедиться, что в SysWOW64 лежат те же самые библиотеки Rtusbapi.dll и wrRtusbapi.dll, что и рядом с примером; если не так, то заменить;
- попробовать Rtusbapi.dll из папки \RT_USB3000\RtViewer\Plugins;
- проверить пример на Windows 7 (или ниже) и оригинальных DLL;
- проверить пример на

64-bit и новых DLL;
- не использовать обёртки из Rtusbapi.llb, а вызывать wrRtusbapi.dll напрямую (как сделано в _ Basic LV Test.vi).
В последнем случае придётся повозиться с CLFN и API разработчика, но в итоге уйдёт один слой абстракций.