Запись файла на устройство PNP, подключенное к ПК с Windows

Подключив устройство PNP к ПК с Windows, я хочу узнать, поддерживает ли устройство функцию передачи данных. Я в основном заинтересован в передаче некоторого контента на устройство. Так, например, когда я подключаю Windows Phone, я вижу в запросе управления Windows, что добавлено 5 новых устройств.

Имя: Windows Phone

CompartibleId: USB\MS_COMP_MTP, USB\Class_06&SubClass_01&Prot_01, USB\Class_06&SubClass_01, USB\Class_06


Имя: Устройство WinUsb

CompartibleId: USB\MS_COMP_WINUSB, USB\Class_ff&SubClass_ff&Prot_ff, USB\Class_ff&SubClass_ff, USB\Class_ff


Имя: Устройство WinUsb

CompartibleId: USB\MS_COMP_WINUSB, USB\Class_ff&SubClass_ff&Prot_ff, USB\Class_ff&SubClass_ff, USB\Class_ff


Имя: Устройство WinUsb

CompartibleId: USB\MS_COMP_WINUSB, USB\Class_ff&SubClass_ff&Prot_ff, USB\Class_ff&SubClass_ff, USB\Class_ff


Название: Композитное USB-устройство

CompartibleId: USB\DevClass_00&SubClass_00&Prot_00, USB\DevClass_00&SubClass_00, USB\DevClass_00, USB\COMPOSITE

Как мне теперь получить клей, который:

  • Все устройства являются частями одного устройства
  • Устройство позволяет мне сохранять на нем файл
  • Найдите индикатор, который точно скажет мне о поддерживаемом протоколе передачи файлов
  • В случае, если возможностей для передачи файлов несколько, выберите более быстрый (или современный)

Я буду признателен за любую помощь, даже если бы вы могли просто указать мне конкретное направление, в котором я должен продолжить свое исследование / исследование.

Я смотрю на общий способ работы с устройствами. Желаемый язык реализации — C#.


person Yaugen Vlasau    schedule 05.05.2015    source источник


Ответы (1)


Во-первых, вы можете обратиться к этому codeproject, в котором вы найдете подробную информацию о драйверах устройств Windows.
SharpUSBLib и HidLibrary — это две широко используемые библиотеки, с реализацией которых вы даже можете получить учебный проект здесь.
Предыдущая версия SharpUsbLib использовалась для сбоя систем.

Предпочла бы libusbdotnet. Если вам нужно работать с USB-устройством (отправлять запросы, обрабатывать ответы), эта библиотека была лучшим решением, которое я смог найти.

Плюсы:

Имеет все методы, необходимые для работы в синхронном или асинхронном режиме. Исходный код предоставил достаточно примеров, чтобы сразу начать его использовать.

Минусы:

Плохая документация (частая проблема для проектов с открытым исходным кодом). По сути, вы можете найти просто общее описание методов в файле справки CHM и все. Но я по-прежнему считаю, что предоставленных образцов и исходного кода достаточно для кодирования. Просто иногда я вижу странное поведение и хочу знать, почему оно было реализовано таким образом, и не могу получить даже намека... Похоже, что оно больше не поддерживается. Последняя версия была выпущена в октябре 2010 года. И иногда трудно получить ответы.

person Jerin    schedule 14.05.2015