﻿Динамическая библиотека подпрограмм - HID_Lib_PB.dll, была разработана в среде PureBasic 4.41 на основе исходного кода библиотеки пользовательских функций HID_Lib для PureBasic.

Описание функций


Снитаксис

	Handle = HID_OpenDevice(PID,  VID,  VersionNumber,  Index)

Описание

PID – (2 байта) Vendor ID устройства.
VID - (2 байта) Product ID устройства.
VersionNumber - (2 байта) номер версии устройства. Если он не известен, то указываем -1 или 65535
Index - (2 байта) индекс устройства если подключены несколько с одинаковыми идентификаторами. По умолчанию, индекс равен нулю.

Получение доступа к USB HID устройству.
В случае успеха, функция вернёт хендл (идентификатор устройства)  - число не равное нулю, 
для последующей работы с ним.
При возникновении ошибки, скажем, если устройство не найдено, функция вернёт ноль.
Для разрыва связи с HID устройством, следует использовать функцию HID_Lib_CloseDevice


Снитаксис

	Result = HID_CloseDevice(Handle)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.

Функция закрывает доступ к USB HID устройству и освобождает ресурсы, связанные с ним.


Снитаксис

	CountReadBytes = HID_ReadDevice (Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер приёма
LenBuffer – (4 байта) Размер в байтах, буфера приёма

	Функция принимает данные от HID устройства и помещает их в указанный буфер.
Результат работы функции – число принятых байт.
ВНИМАНИЕ! Программа "повиснет" в этой функции до тех пор, пока не будет принято указанное число байт. Поэтому её желательно вызывать в отдельном потоке.


Снитаксис

	CountWriteBytes = HID_WriteDevice (Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер передачи
LenBuffer – (4 байта) Размер в байтах, буфера передачи

	Функция отправляет данные HID устройству из указанного буфера.
Результат работы функции – число оправленных байт.


Снитаксис

	CountReadBytes = HID_GetInputReport (Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер приёма
LenBuffer – (4 байта) Размер в байтах, буфера приёма

Чтение входного репорта.  ВНИМАНИЕ функция появилась только в WinXP


Снитаксис

	CountReadBytes = HID_SetOutputReport (Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер передачи
LenBuffer – (4 байта) Размер в байтах, буфера передачи

Запись выходного репорта.  ВНИМАНИЕ функция появилась только в WinXP



Снитаксис

	Result = HID_GetFeature(Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер приёма
LenBuffer – (4 байта) Размер в байтах, буфера приёма.

	Чтение Feature репорта из устройства.


Снитаксис

	Result = HID_SetFeature(Handle,  *buffer,   LenBuffer)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*buffer – указатель на буфер передачи
LenBuffer – (4 байта) Размер в байтах, буфера передачи.

	Запись Feature репорта в устройство.


Снитаксис

	State = HID_DeviceTest(PID,  VID,  VersionNumber,  Index)

Описание

PID – (2 байта) Vendor ID устройства.
VID - (2 байта) Product ID устройства.
VersionNumber - (2 байта) номер версии устройства. Если он не известен, то указываем -1 или 65535
Index - (2 байта) индекс устройства если подключены несколько с одинаковыми идентификаторами. По умолчанию, индекс равен нулю.


	Функция проверяет, подключено ли устройство с указанными идентификаторами. 
Если подключено, то функция вернёт 1, а если нет, то функция вернёт 0.


Снитаксис

	Result = HID_Lib_GetCaps(Handle,  *Capabilities.HIDP_CAPS)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.
*Capabilities.HIDP_CAPS – указатель на структуру HIDP_CAPS.

	Определение возможностей устройства. Данные будут помещены в структуру HIDP_CAPS.



Снитаксис

	CountInputBuffers = HID_GetNumInputBuffers(Handle)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.

	Функция позволяет узнать число входных буферов устройства


Снитаксис

	*String = HID_GetManufacturerString(Handle)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.

	Функция позволяет узнать идентификатор изготовителя. Результат – указатель на строку текста в ASCII формате.



Снитаксис

	*String = HID_GetProductString(Handle)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.

	Функция позволяет узнать идентификатор продукта. Результат – указатель на строку текста в ASCII формате.




Снитаксис

	*String = HID_GetSerialNumberString(Handle)

Описание

Handle – (4 байта) идентификатор устройства, полученный с помощью HID_OpenDevice.

	Функция позволяет узнать серийный номер. Результат – указатель на строку текста в ASCII формате.
