Работа с usb устройствами

321
04 октября 2017, 06:41

Есть примерно 10 USB устройств подключенных через USB-хаб. Для работы с устройствами есть библиотека производителя.

Импортирую библиотеку и пару методов с неё:

private const string ClscrflDll = "Clscrfl.dll";
[DllImport(ClscrflDll)]
public static extern uint CLSCRF_Create(ref IntPtr handle);
[DllImport(ClscrflDll)]
public static extern uint CLSCRF_OpenUSB(IntPtr pReader, uint dwIndex, uint dwLogFile);

Вызываю эти методы:

IntPtr pReader = new IntPtr();
CLSCRF_Create(ref pReader);
CLSCRF_OpenUSB(pReader, 8, 0);

Где второй параметр "8", у OpenUSB, это номер устройства. Проблема в том что к устройствам от 0 до 7 я подключаюсь без проблем, начиная с 8го, программа просто закрывается, не выдавая никаких ошибок/исключений и т.д.

Есть коллега, который на Delphi написал точно такой же код с этой же библиотекой, у него всё работает.

Пробовал ставить разные соглашения о вызове, не помогло. В чём ещё может быть проблема, может я что-то упустил?

В документации к библиотеке:

LONG CLSCRF_Create( IN OUT LPVOID* ppReader );

Создает объект-интерфейс. Эта функция должна вызываться 1 раз в начале работы приложения.

  • ppReader – адрес переменной, в которую будет помещена ссылка на созданный объект-интерфейс и которая будет использоваться в вызовах всех остальных функций.`

LONG CLSCRF_OpenUSB( IN LPVOID pReader,IN DWORD dwIndex = 0,IN DWORD dwLogFile= 0 );

Открывает USB-интерфейс. Эта функция должна вызываться 1 раз перед началом обмена со считывателем.

  • pReader – ссылка на объект-интерфейс (см. функцию CLSCRF_Create);
  • dwIndex – номер USB-устройства в дереве устройств от 0;
  • dwLogFile – вывод в файл хронологии обмена:
    • 1 - создавать файл;
    • 0 - не создавать файл.
READ ALSO
Keep alive of TCP connection

Keep alive of TCP connection

Добрый день

273
Вопрос по С# Перелистывание графика

Вопрос по С# Перелистывание графика

Всем приветВопрос возможно глупый, но я новичок в с#

307
JavaScript SDK vk - ограничение запросов в секунду

JavaScript SDK vk - ограничение запросов в секунду

У VK API есть ограничение - 3 запроса в секундуКак используя javascript sdk, ограничить запросы до трех в секунду?

289
Плагин релоадящий страницу для gulp

Плагин релоадящий страницу для gulp

Доброго времени сутокЗнаю что хочу не возможного, просто хочу убедится, действительно ли это так, пишу сюда т

275