IntergatedCircuits / HidSharp

HIDSharp is a multiplatform C# library for USB HID devices by James F. Bellinger
https://www.zer7.com/software/hidsharp
Other
121 stars 34 forks source link

GetSerialNumber on Mac throws an exception... #23

Open jbizios opened 1 year ago

jbizios commented 1 year ago

Hi all - Reported this on the James' support forum few years back but never got any resolution, so I thought I'd try again here as well.

The following code hitting a specific vendor's UPS devices:

var devices = DeviceList.Local.GetHidDevices(4271).ToList(); var serialNumber = devices[0].GetSerialNumber();

Throws a DeviceIoException ("Serial Number Not Found") on MacOS, but works fine on Windows and Linux using the same device.

I built the latest source locally on the Mac to try and step through it, but didn't get very far. The call:

d._serialNumber = NativeMethods.IORegistryEntryGetCFProperty_String(service, NativeMethods.kIOHIDSerialNumberKey)

returns NULL.

Is this a known issue? Are there any suggested work arounds?

Thanks in advance!