Ich versuche, eine Verbindung zu einem Gerät (SecuGen Hamster Pro 20) über Windows.Devices.Usb APIs mit Universal Windows App nur für PC (keine Telefone) (WinRT).Kann UsbDevice nicht von DeviceInformation.Id erstellen
Das Gerät ist ein Fingerabdruck-Scanner.
Ich habe mit für alle Geräte angesehen:
Ich habe online, dass zu tun, fanden alle Schritte getan
var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync();
Das gibt etwa 1400 Geräte. Nach einiger filteration mit:
var resultList = myDevices.Where(s => s.Name.ToLower().Contains("secu")).ToList<DeviceInformation>();
resultList
enthält 3 Geräte in meinem Rechner (ich habe es auf einer anderen Maschine versucht und fand 10 Treffer auf etwas).
Ich habe nicht die Überlastung verwenden für Geräte zu finden, weil es DeviceInformation.FindAllAsync(String aqsFilter)
0 Ergebnisse althought kehrt Ich bin sicher, dass ich es richtig (verwendet richtige VID & PID) getan haben
Das Problem hier ist, wenn ich versuche, ein UsbDevice
Objekt aus einem der 3 Ergebnisse erstellen mit:
UsbDevice device = await UsbDevice.FromIdAsync(resultList[0].Id);
der Rückgabewert null ist, habe ich sie alle ausprobiert (resultList[0]
, resultList[1]
, resultList[2]
) ohne Glück.
konfiguriert ich die Fähigkeiten mit:
<DeviceCapability Name="usb">
<Device Id="vidpid:1162 2200">
<Function Type="name:vendorSpecific"/>
</Device>
</DeviceCapability>
Ich habe versucht, auch ein UsbDevice
Objekt aus einem der 1400-Geräte von DeviceInformation.FindAllAsync()
zurück erstellen, aber alle wieder null und einige werfen sogar eine Ausnahme, die the system cannot find the file specified 0x80070002
Ich habe versucht, DeviceAccessInformation
für das Gerät zu lesen DeviceAccessStatus.Unspecified
Jeder kann mich zu dem führen, was ich hier fehlt?