Задать вопрос
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap

Работа с USB устройством?

Есть у меня код, который возвращает список USB девайсов, с физическими путями полученными функцией SetupDiGetInterfaceDeviceDetail.

Подключены устройства: веб камера, мышка, сканер штрихкодов, флэшка


Физические адреса нормально получаются, устройства без ошибок открываются по этим адресам.


А вот дальше, я из этих устройств ничего не могу прочитать


Полный код тут: files.pihel.jino.ru/files/2e6d893fe1333553bfdd30d7...


Интересует вот эта часть в частности:

while(1) {<br/>
memset(inBuffer, 0, 2);<br/>
bResult = ReadFile(hUsbLink,inBuffer, 1,&readed,&ovl_wht);<br/>
if (bResult) {<br/>
_tprintf(TEXT(&quot;%s&quot;), inBuffer);<br/>
strcat(sBuffer, inBuffer);<br/>
} else {<br/>
le = GetLastError();<br/>
printf(&quot;error code: %u &quot;, le);<br/>
}<br/>
}<br/>


Всегда получаю ошибку №1 (ERROR_INVALID_FUNCTION)


Как собсно читать чтото с этих устройств?

Почему я всегда получаю ошибку…
  • Вопрос задан
  • 4364 просмотра
Подписаться 4 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
kostik450
@kostik450
У меня была такая же ошибка, когда размер буфера был не кратен 512 байт при работе с винчестером (размер сектора).

«Поиграйтесь» с размером буфера — там, наверное, кратно 64 байт, или что-то типа того.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы