Interfaz de programación de aplicaciones HID (API)
Hay tres categorías de API HID:
- Detección y configuración de dispositivos
- Movimiento de datos
- Creación e interpretación de informes
Detección y configuración de dispositivos
Estas API HID se usan para identificar las propiedades de un dispositivo HID y para establecer la comunicación con ese dispositivo. Las aplicaciones usan estas API para identificar una colección de nivel superior.
- HidD_GetAttributes
- HidD_GetHidGuid
- HidD_GetIndexedString
- HidD_GetManufacturerString
- HidD_GetPhysicalDescriptor
- HidD_GetPreparsedData
- HidD_GetProductString
- HidD_GetSerialNumberString
- HidD_GetNumInputBuffers
- HidD_SetNumInputBuffers
Movimiento de datos
Las siguientes API HID se usan para mover datos entre una aplicación y un dispositivo seleccionado.
Creación e interpretación de informes
Los desarrolladores de hardware personalizado conocen el tamaño y el formato de cada informe emitido por su dispositivo. En este caso, la aplicación puede convertir los búferes de informes de entrada y salida como estructuras y consumir los datos.
Es posible que los desarrolladores de aplicaciones HID diseñadas para comunicarse con todos los dispositivos que exponen la funcionalidad común no conozcan el tamaño y el formato de los informes HID. Esta categoría de aplicación comprende determinadas colecciones de nivel superior y ciertos usos.
Para interpretar los informes recibidos de un dispositivo o para crear informes que se enviarán, la aplicación debe usar el descriptor de informe para determinar si y dónde se encuentra un uso determinado en los informes y las unidades de valores de los informes. En estos casos, se requiere el análisis de HID. Windows proporciona un analizador HID para su uso por controladores y aplicaciones a través de API (HidP_*) que se pueden usar para detectar los tipos de usos admitidos por un dispositivo, determinar el estado de estos usos en un informe o crear un informe para cambiar el estado de un uso en el dispositivo.
Esta es la lista de API del analizador HID:
- HidP_GetButtonArray
- HidP_GetButtonCaps
- HidP_GetButtons
- HidP_GetButtonsEx
- HidP_GetCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetLinkCollectionNodes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
- HidP_GetVersion
- HidP_InitializeReportForID
- HidP_MaxDataListLength
- HidP_MaxUsageListLength
- HidP_SetButtonArray
- HidP_SetButtons
- HidP_SetData
- HidP_SetScaledUsageValue
- HidP_SetUsages
- HidP_SetUsageValue
- HidP_SetUsageValueArray
- HidP_TranslateUsagesToI8042ScanCodes
- HidP_UnsetButtons
- HidP_UnsetUsages
- HidP_UsageAndPageListDifference
- HidP_UsageListDifference