添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Windows系统HID设备获取输入报告ReadFile和HidD_GetInputReport区别
  • Windows系统HID读输入报告的两种方式HidD_GetInputReport和ReadFile的补充
  • HIDP_DEVICE_DESC和HIDP_COLLECTION_DESC、HIDP_REPORT_IDS关系注释
  • HID_PARSER_CONTEXT解析报告描述符生成的COLLECTION树形结构
  • Hid.dll导出函数HidD_GetPreparsedData
  • Windows系统HidD_GetPreparsedData数据结构PHIDP_PREPARSED_DATA研究
  • Hid.dll获取字符串函数实现
  • Hid.dll报告缓存数量的设置与获取
  • HID设备读取输入报告机制概述
  • hidclass.sys多输入报告的长度研究
  • HID.DLL函数HidD_GetMsGenreDescriptor与IOCTL_HID_GET_MS_GENRE_DESCRIPTOR
  • hid.dll导出函数HidD_GetPhysicalDescriptor与IOCTL_GET_PHYSICAL_DESCRIPTOR
  • HIDCLASS.SYS获取HID设备的硬件ID
  • HIDCLASS.SYS对外支持的IOCTL
  • HID设备电源控制IOCTL_GET_SYS_BUTTON_CAPS
  • HIDCLASS电源事件IOCTL_GET_SYS_BUTTON_EVENT
  • HID设备输入报告的安全方式
  • HID设备空闲态的状态检测
  • Windows封装的 HID 相关系列API函数,其本质是通过W IN 32 API函数DeviceIoControl函数来与内核进行通讯的,而DeviceIoControl中一个重要的参数就是dwIoControlCode,代表了该次通讯的功能。

    W IN API DeviceIoControl( _In_ HANDLE hDevice, _In_ DWORD dwIoControlCode, _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, _In_ DWORD nInBufferSize, _Out_writes_bytes_to_opt_(nOutBufferSize,*lpBytesReturned) LPVOID lpOutBuffer, _In_ DWORD nOutBufferSize, _Out_opt_ LPDWORD lpBytesReturned, _Inout_opt_ LPOVERLAPPED lpOverlapped

    这里列出相关的API与dwIoControlCode码之间的关系,未列出的函数一般为通过下列获取的内核数据的内部解析处理。

    dwIoControlCode HidD_GetPreparsedData IOCTL_ HID _GET_COLLECTION_ IN FORMATION /IOCTL_ HID _GET_COLLECTION_DESCRIPTOR HID_COLLECTION_INFORMATION/HIDP_PREPARSED_DATA HidD_GetAttributes IOCTL_HID_GET_COLLECTION_INFORMATION HID_COLLECTION_INFORMATION HidD_FlushQueue IOCTL_HID_FLUSH_QUEUE HidD_GetConfiguration IOCTL_HID_GET_DRIVER_CONFIG HIDD_CONFIGURATION HidD_SetConfiguration IOCTL_HID_SET_DRIVER_CONFIG HidD_GetNumInputBuffers IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS HidD_SetNumInputBuffers IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS HidD_GetSerialNumberString IOCTL_HID_GET_SERIALNUMBER_STRING HidD_GetManufacturerString IOCTL_HID_GET_MANUFACTURER_STRING HidD_GetProductString IOCTL_HID_GET_PRODUCT_STRING HidD_GetIndexedString IOCTL_HID_GET_INDEXED_STRING HidD_GetPhysicalDescriptor IOCTL_GET_PHYSICAL_DESCRIPTOR HidD_GetFeature IOCTL_HID_GET_FEATURE HidD_SetFeature IOCTL_HID_ SET_FEATURE HidD_GetInputReport IOCTL_HID_GET_INPUT_REPORT HidD_SetOutputReport IOCTL_HID_SET_ OUT PUT_REPORT HidD_GetMsGenreDescriptor IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

    微软定义的IOCTL码大全: http://www.pnpon.com/article/detail-32.html