HID USB Driver for Windows


Table of contents

About

Hidx.dll is a HID USB driver to use with any programming language that supports the common Dynamic Link Library concept.
An API of only eight functions allows you to read and write to your Device and to add or remove it from USB without data loss.
Hidx.dll supports 32 bit and 64 bit Windows Operating Systems starting from Windows 7 up to Windows 10.
Even Composite Devices or multiple Devices of the same type can be used simultaneously.
Automatic Device detection and reconnection as well as find, read and write callbacks are making a programmer's life easier.

API

The Programming Interface includes the following functions:

How to use

Hidx.dll requires a few parameters that are typical to a HID Device. If you are the developper of the Device, you can find all required information in the firmware. Just take a look at the Device and Report Descriptors.
But it's much easier to use the Device Analyzer . This application scans the USB. All available Devices are shown in a window. By selecting one, the required parameters are extracted and displayed.


Hidx.dll Device Analyzer

Figure: Hidx Device Analyzer.

Every USB Device has a Vendor ID and a Product ID and is split in one or several Interfaces.
An Interface can be of different type: For example, you can combine a Mass Storage Interface for collecting Sensor Data with a HID Interface to tune Device Parameters. Devices with more than one Interface are called Composite Devices.
Hidx.dll supports Devices with a single Interface as well as Devices with multiple Interfaces or multiple collections (another kind of Interface type). Use Hid_AddDevice() and Hid_AddInterface() to reproduce that pattern.

Data is transferred using Reports.
You can think of a Report as a data structure that holds a buffer for the data to transfer and some additional attributes like Report ID, Report Size and Report Type.
The size is equal to the length of the data buffer. The ID allows to differentiate between several Reports within an Interface, and the Type defines the transfer direction. Input Reports transfer data from HID Device to PC, Output Reports vice versa.
You can use Hid_ReadReport() and Hid_WriteReport() for data exchange. Callback functions are optional.

Hidx.dll can handle automatic Device detection. So, you can add and remove your HID Device during operation. The whole process is entirely handled by Hidx.dll. After removing your Device and reconnecting it, you can restart with data transfers by simply calling Hid_ReadReport() or Hid_WriteReport().
The connection state of a HID Device or Interface is returned by Hid_FindInterface(). But you can also register a callback function for this task.

Sample projects

Take a look at the following sample projects. Use the free key and run them out-of-the-box:

Free key 2021

You need a key to use Hidx.dll. Add it to the Hid_InitLib() function:


This free key does not allow you to ship Hidx.dll with your software. But you can use it at home where you are living. It is valid for an entire calendar year and it requires Internet access for validating its integrity.

A buisiness company must not use this key. Write to info(at)hidxplat.com to get a quote.

Contact

If you have any question, write to info(at)hidxplat.com.

Mandatory information

Responsible for the subject is:

Master of Electrical Engineering and Information Technology

7
R

3

a

1

l

1

f

2

8

H

7

a

3

n

4

d

4

r

2

i

7

c

1

h
Im Vogelsang 51
76829 Landau
Germany
Phone +
7
4

3

9

1

6

1

3

2

4

8

1

7

9

3

9

4

5

4

9

2

2

7

0

1

9
Email info(at)hidxplat.com

Information according to ยง55 Rundfunkstaatsvertrag

Responsible for the subject is:

Master of Electrical Engineering and Information Technology

7
R

3

a

1

l

1

f

2

8

H

7

a

3

n

4

d

4

r

2

i

7

c

1

h
Address: see above