Class WindowsHidDeviceFactoryExtensions
Instantiates Windows Hid Factories. Use these methods as extension methods with FilterDeviceDefinition or directly to get all devices
Inheritance
Inherited Members
Namespace: Hid.Net.Windows
Assembly: Hid.Net.dll
Syntax
public static class WindowsHidDeviceFactoryExtensions
Methods
CreateWindowsHidDeviceFactory(FilterDeviceDefinition, ILoggerFactory, IHidApiService, Nullable<Guid>, Nullable<UInt16>, Nullable<UInt16>, GetConnectedDeviceDefinitionsAsync, Func<Report, TransferResult>, Func<TransferResult, Report>, Func<Byte[], Byte, Byte[]>, WriteReportTransform)
Creates a IDeviceFactory for Windows Hid devices
Declaration
public static IDeviceFactory CreateWindowsHidDeviceFactory(this FilterDeviceDefinition filterDeviceDefinition, ILoggerFactory loggerFactory = null, IHidApiService hidApiService = null, Guid? classGuid = null, ushort? readBufferSize = null, ushort? writeBufferSize = null, GetConnectedDeviceDefinitionsAsync getConnectedDeviceDefinitionsAsync = null, Func<Report, TransferResult> readReportTransform = null, Func<TransferResult, Report> readTransferTransform = null, Func<byte[], byte, byte[]> writeTransferTransform = null, WriteReportTransform writeReportTransform = null)
Parameters
| Type | Name | Description |
|---|---|---|
| FilterDeviceDefinition | filterDeviceDefinition | Devices must match this |
| Microsoft.Extensions.Logging.ILoggerFactory | loggerFactory | https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.iloggerfactory |
| IHidApiService | hidApiService | Abstraction for Hid interaction |
| System.Nullable<System.Guid> | classGuid | Filters by specified class guid |
| System.Nullable<System.UInt16> | readBufferSize | Override the input report size |
| System.Nullable<System.UInt16> | writeBufferSize | Override the output report size |
| GetConnectedDeviceDefinitionsAsync | getConnectedDeviceDefinitionsAsync | Override the default call for getting definitions |
| System.Func<Report, TransferResult> | readReportTransform | Allows you to manually convert the Report in to a TransferResult so that the Report Id is not discarded on ReadAsync. By default, this inserts the Report Id at index zero of the array. |
| System.Func<TransferResult, Report> | readTransferTransform | Exposes the raw data from the device (including Report Id) on reads and allows you to format the returned TransferResult |
| System.Func<System.Byte[], System.Byte, System.Byte[]> | writeTransferTransform | Given the Report Id and data supplied for the write, allow you to format the raw data that is sent to the device |
| WriteReportTransform | writeReportTransform | Given the data supplied, allow you to divide the data in to a Report |
Returns
| Type | Description |
|---|---|
| IDeviceFactory | A factory which enumerates and instantiates devices |
CreateWindowsHidDeviceFactory(ILoggerFactory, IHidApiService, Nullable<Guid>, Nullable<UInt16>, Nullable<UInt16>, GetConnectedDeviceDefinitionsAsync, Func<Report, TransferResult>, Func<TransferResult, Report>, Func<Byte[], Byte, Byte[]>, WriteReportTransform)
Creates a IDeviceFactory for Windows Hid devices
Declaration
public static IDeviceFactory CreateWindowsHidDeviceFactory(ILoggerFactory loggerFactory = null, IHidApiService hidApiService = null, Guid? classGuid = null, ushort? readBufferSize = null, ushort? writeBufferSize = null, GetConnectedDeviceDefinitionsAsync getConnectedDeviceDefinitionsAsync = null, Func<Report, TransferResult> readReportTransform = null, Func<TransferResult, Report> readTransferTransform = null, Func<byte[], byte, byte[]> writeTransferTransform = null, WriteReportTransform writeReportTransform = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Microsoft.Extensions.Logging.ILoggerFactory | loggerFactory | https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.iloggerfactory |
| IHidApiService | hidApiService | Abstraction for raw api level interation |
| System.Nullable<System.Guid> | classGuid | Filters by specified class guid |
| System.Nullable<System.UInt16> | readBufferSize | Override the input report size |
| System.Nullable<System.UInt16> | writeBufferSize | Override the output report size |
| GetConnectedDeviceDefinitionsAsync | getConnectedDeviceDefinitionsAsync | Override the default call for getting definitions |
| System.Func<Report, TransferResult> | readReportTransform | Allows you to manually convert the Report in to a TransferResult so that the Report Id is not discarded on ReadAsync. By default, this inserts the Report Id at index zero of the array. |
| System.Func<TransferResult, Report> | readTransferTransform | Exposes the raw data from the device (including Report Id) on reads and allows you to format the returned TransferResult |
| System.Func<System.Byte[], System.Byte, System.Byte[]> | writeTransferTransform | Given the Report Id and data supplied for the write, allow you to format the raw data that is sent to the device |
| WriteReportTransform | writeReportTransform | Given the data supplied, allow you to divide the data in to a Report |
Returns
| Type | Description |
|---|---|
| IDeviceFactory | A factory which enumerates and instantiates devices |
CreateWindowsHidDeviceFactory(IEnumerable<FilterDeviceDefinition>, ILoggerFactory, IHidApiService, Nullable<Guid>, Nullable<UInt16>, Nullable<UInt16>, GetConnectedDeviceDefinitionsAsync, Func<Report, TransferResult>, Func<TransferResult, Report>, Func<Byte[], Byte, Byte[]>, WriteReportTransform)
Creates a factory Hid devices
Declaration
public static IDeviceFactory CreateWindowsHidDeviceFactory(this IEnumerable<FilterDeviceDefinition> filterDeviceDefinitions, ILoggerFactory loggerFactory = null, IHidApiService hidApiService = null, Guid? classGuid = null, ushort? readBufferSize = null, ushort? writeBufferSize = null, GetConnectedDeviceDefinitionsAsync getConnectedDeviceDefinitionsAsync = null, Func<Report, TransferResult> readReportTransform = null, Func<TransferResult, Report> readTransferTransform = null, Func<byte[], byte, byte[]> writeTransferTransform = null, WriteReportTransform writeReportTransform = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Collections.Generic.IEnumerable<FilterDeviceDefinition> | filterDeviceDefinitions | Devices must match these |
| Microsoft.Extensions.Logging.ILoggerFactory | loggerFactory | https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.iloggerfactory |
| IHidApiService | hidApiService | Abstraction for Hid interaction |
| System.Nullable<System.Guid> | classGuid | Filters by specified class guid |
| System.Nullable<System.UInt16> | readBufferSize | Override the input report size |
| System.Nullable<System.UInt16> | writeBufferSize | Override the output report size |
| GetConnectedDeviceDefinitionsAsync | getConnectedDeviceDefinitionsAsync | Override the default call for getting definitions |
| System.Func<Report, TransferResult> | readReportTransform | Allows you to manually convert the Report in to a TransferResult so that the Report Id is not discarded on ReadAsync. By default, this inserts the Report Id at index zero of the array. |
| System.Func<TransferResult, Report> | readTransferTransform | Exposes the raw data from the device (including Report Id) on reads and allows you to format the returned TransferResult |
| System.Func<System.Byte[], System.Byte, System.Byte[]> | writeTransferTransform | Given the Report Id and data supplied for the write, allow you to format the raw data that is sent to the device |
| WriteReportTransform | writeReportTransform | Given the data supplied, allow you to divide the data in to a Report |
Returns
| Type | Description |
|---|---|
| IDeviceFactory | A factory which enumerates and instantiates devices |