Skip to content

Commit

Permalink
#18
Browse files Browse the repository at this point in the history
  • Loading branch information
MelbourneDeveloper committed Jan 6, 2019
1 parent 41166e4 commit 338132d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 22 deletions.
6 changes: 5 additions & 1 deletion src/Device.Net/Windows/WindowsDeviceFactoryBase.cs
Expand Up @@ -71,7 +71,11 @@ public async Task<IEnumerable<DeviceDefinition>> GetConnectedDeviceDefinitions(u
if (vendorId.HasValue && !spDeviceInterfaceDetailData.DevicePath.ToLower().Contains(vendorHex)) continue;
if (productId.HasValue && !spDeviceInterfaceDetailData.DevicePath.ToLower().Contains(productIdHex)) continue;
deviceDefinitions.Add(GetDeviceDefinition(spDeviceInterfaceDetailData.DevicePath));
var deviceDefinition = GetDeviceDefinition(spDeviceInterfaceDetailData.DevicePath);
if (deviceDefinition == null) continue;
deviceDefinitions.Add(deviceDefinition);
}
APICalls.SetupDiDestroyDeviceInfoList(i);
Expand Down
47 changes: 26 additions & 21 deletions src/Hid.Net/Windows/WindowsHidDeviceFactory.cs
Expand Up @@ -33,29 +33,34 @@ public IDevice GetDevice(DeviceDefinition deviceDefinition)
#region Private Static Methods
public static WindowsDeviceDefinition GetDeviceDefinition(string deviceId, SafeFileHandle safeFileHandle)
{
var hidAttributes = GetHidAttributes(safeFileHandle);
var hidCollectionCapabilities = GetHidCapabilities(safeFileHandle);
var manufacturer = GetManufacturer(safeFileHandle);
var serialNumber = GetSerialNumber(safeFileHandle);
var product = GetProduct(safeFileHandle);

var deviceInformation = new WindowsDeviceDefinition
try
{
DeviceId = deviceId,
WriteBufferSize = hidCollectionCapabilities.OutputReportByteLength,
ReadBufferSize = hidCollectionCapabilities.InputReportByteLength,
Manufacturer = manufacturer,
Product = product,
ProductId = (ushort)hidAttributes.ProductId,
SerialNumber = serialNumber,
Usage = hidCollectionCapabilities.Usage,
UsagePage = hidCollectionCapabilities.UsagePage,
VendorId = (ushort)hidAttributes.VendorId,
VersionNumber = (ushort)hidAttributes.VersionNumber,
DeviceType = DeviceType.Hid
};
var hidAttributes = GetHidAttributes(safeFileHandle);
var hidCollectionCapabilities = GetHidCapabilities(safeFileHandle);
var manufacturer = GetManufacturer(safeFileHandle);
var serialNumber = GetSerialNumber(safeFileHandle);
var product = GetProduct(safeFileHandle);

return deviceInformation;
return new WindowsDeviceDefinition
{
DeviceId = deviceId,
WriteBufferSize = hidCollectionCapabilities.OutputReportByteLength,
ReadBufferSize = hidCollectionCapabilities.InputReportByteLength,
Manufacturer = manufacturer,
Product = product,
ProductId = (ushort)hidAttributes.ProductId,
SerialNumber = serialNumber,
Usage = hidCollectionCapabilities.Usage,
UsagePage = hidCollectionCapabilities.UsagePage,
VendorId = (ushort)hidAttributes.VendorId,
VersionNumber = (ushort)hidAttributes.VersionNumber,
DeviceType = DeviceType.Hid
};
}
catch(Exception ex)
{
return null;
}
}
#endregion

Expand Down

0 comments on commit 338132d

Please sign in to comment.