Как заполнить UsbRegDeviceList в приложении .NET, работающем с LibUsbDotNet «Пример начала работы» - PullRequest
0 голосов
/ 04 июля 2018

Когда я его запускаю, список allDevices пуст.

Я запустил новый консольный проект VB.NET и установил Nuget LibUsbDotNet.

Мой код такой:

Imports System
Imports LibUsbDotNet
Imports LibUsbDotNet.Info
Imports LibUsbDotNet.Main
Imports System.Collections.ObjectModel



Module Module1

        Public  MyUsbDevice As UsbDevice

        Public  Sub Main(args As String())
            ' Dump all devices and descriptor information to console output.
            Dim allDevices As UsbRegDeviceList = UsbDevice.AllDevices
            For Each usbRegistry As UsbRegistry In allDevices
                If usbRegistry.Open(MyUsbDevice) Then
                    Console.WriteLine(MyUsbDevice.Info.ToString())
                    For iConfig As Integer = 0 To MyUsbDevice.Configs.Count - 1
                        Dim configInfo As UsbConfigInfo = MyUsbDevice.Configs(iConfig)
                        Console.WriteLine(configInfo.ToString())

                        Dim interfaceList As ReadOnlyCollection(Of UsbInterfaceInfo) = configInfo.InterfaceInfoList
                        For iInterface As Integer = 0 To interfaceList.Count - 1
                            Dim interfaceInfo As UsbInterfaceInfo = interfaceList(iInterface)
                            Console.WriteLine(interfaceInfo.ToString())

                            Dim endpointList As ReadOnlyCollection(Of UsbEndpointInfo) = interfaceInfo.EndpointInfoList
                            For iEndpoint As Integer = 0 To endpointList.Count - 1
                                Console.WriteLine(endpointList(iEndpoint).ToString())
                            Next
                        Next
                    Next
                End If
            Next


            ' Free usb resources.
            ' This is necessary for libusb-1.0 and Linux compatibility.
            UsbDevice.[Exit]()

            ' Wait for user input..
            Console.ReadKey()
        End Sub

End Module

МОЙ УСТРОЙСТВО USB DESKTOP ...

enter image description here

1 Ответ

0 голосов
/ 07 июля 2018

Я полагаю, что мой рабочий стол, на котором я делал это, слишком стар, хотя недавно я обновил его до Win 10. Поэтому, чтобы решить проблему, я использовал новый ноутбук Win 10, установил и запустил (суб) драйвер фильтра и выбрал веб-камеру своего ноутбука (в качестве тестового VID и PID), установил libUsb-Win32, создал консольный проект .NET (я сделал и VB и C #), сделал VS> proj> Refs> NUGET> просматривал LibUsbDotNet, установил его, вставил 1-й пример из libUsbDotNet из Sourceforge, и он работал великолепно: он подключился к драйверу веб-камеры (выбранному субдрайвером фильтра) и считал правильный VID & PID. (пример сообщил об ошибке, потому что драйвер веб-камеры не ответил на опрос, но это ожидается).

...