Show / Hide Table of Contents

Class WindowsHidDeviceFactoryExtensions

Instantiates Windows Hid Factories. Use these methods as extension methods with FilterDeviceDefinition or directly to get all devices

Inheritance
System.Object
WindowsHidDeviceFactoryExtensions
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
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

In This Article
Back to top Generated by DocFX