Technical Specification

Function Overview

The AHid.dll is an Application Programming Interface (API) to transfer data from an user defined HID device to the PC and back. The following functions are implemented:

(1) AHid_Init(): Initializes the AHid.dll with a window handle. The handle is used in conjunction with the Windows Message Queue.
(2) AHid_Register(): Registers an Input, Output or Feature Report to use with Hid.dll. The passed parameters describe the HID Report of your device (ID, size, type) and some vendor specific values (VID and PID).
(3) AHid_Deregister(): Removes a device from AHid.dll registration. From now on, the device cannot be used any longer.
(4) AHid_Write(): Sends data of a fixed size to your HID device. The packet size corresponds to the report size in AHid_Register().
(5) AHid_Read(): Reads data of a fixed size from your HID device. Again, the size corresponds to the report size in AHid_Register().
(6) AHid_Request(): Request a Feature Report from your device
(7) AHid_Find(): Searches for your HID device on USB and returns its connection state.
(8) AHid_Identify(): Reads the device path. The device path is unique for the HID device and can also be found in the Windows Hardware Manager.
(9) AHid_Info(): Opens a Message Box with some information about AHid.dll.


(1) It is forbidden to use the AHid.dll in any environment where life could be at risk (like medicine, automotive, avionic, etc.).