Windows动态库hid.dll
+ -

HIDCLASS.SYS对外支持的IOCTL

2022-06-01 105 0
您好,该文仅对付费用户可见,请开通VIP会员
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

Hid.dll导出函数与IOCTL对应大全
Windows封装的HID相关系列API函数,其本质是通过WIN32 API函数DeviceIoControl函数来与内核进行通讯的,而DeviceIoControl中一个重要的参数就是dwIoControlCode,代表了该次通讯的功能。BOOLWINAPIDeviceIoControl(......
HidClassFDO_DispatchRequest
NTSTATUSHidClassFDO_DispatchRequest( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp){ PHIDCLASS_COMMON_DEVICE_EXTENSION CommonDeviceExtens......
HID.dll与整个HID驱动程序架构的关系揭密
这里我们首先回顾一下HID相关驱动之间的调用关系图。USB HID设备主要由包括以下几个驱动:HidClass.sys 这个驱动是HID驱动的类驱动,其实就是一个DLL,用于处理USB HID驱动通用功能。HIDUSB.sys 这个驱动是HID驱动的miniPort驱动,即我们常说的迷你小端口......
hidclass.sys多输入报告的长度研究
有没有思考过一个问题,一般我们的HID设备只一个输入输出报告,那么在hidclass.sys中在循环读取输入报告时,按指定的长度来进行读取即可。但是,我们知道,一个HID设备是可以支持多个输入报告的,多个输入报告使用ReportId来区分的。如我们提供如下的一个自定义通讯HID设备:0x06,0x......
HID.DLL函数HidD_GetMsGenreDescriptor与IOCTL_HID_GET_MS_GENRE_DESCRIPTOR
HID.DLL导出HidD_GetMsGenreDescriptor函数,其使用IOCTL_HID_GET_MS_GENRE_DESCRIPTOR与HIDCLASS.SYS通讯。而HIDCLASS.SYS将此请求下发给设备,用于获取设备的类型信息。而在HIDUSB.SYS中,通过下发Functio......
hid.dll导出函数HidD_GetPhysicalDescriptor与IOCTL_GET_PHYSICAL_DESCRIPTOR
hid.dll导出函数HidD_GetPhysicalDescriptor用于获取HID物理描述符,其通过IOCTL_GET_PHYSICAL_DESCRIPTOR发送给HIDCLASS.SYS。HIDCLASS创建一个主功能号为IRP_MJ_INTERNAL_DEVICE_CONTROL,IOCT......
HIDCLASS.SYS获取HID设备的硬件ID
在应用层通过如下代码实现: HANDLE tmp_DeviceHandle = CreateFile(st.DeviceName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, ......
HIDCLASS.SYS对外支持的IOCTL
//// Macro for defining HID ioctls//#define HID_CTL_CODE(id) CTL_CODE(FILE_DEVICE_KEYBOARD, (id), METHOD_NEITHER, FILE_ANY_ACCESS)#defi......
HID设备电源控制IOCTL_GET_SYS_BUTTON_CAPS
IOCTL_GET_SYS_BUTTON_CAPS 用于获取HID支持的电源功能。在HID报告描述符USAGE_PAGE(0X01)中为:Usage IDUsage NameUsage TypesSection81System Power DownOSC4.582......
HIDCLASS电源事件IOCTL_GET_SYS_BUTTON_EVENT
系统应该是向HID设备发送一个IOCTL_GET_SYS_BUTTON_EVENT请求,该请求被HID设备Pending挂起,当有相关的Power Button报告时,完成该事件。#define FILE_DEVICE_BATTERY 0x00000029#define ......
复位USB端口设备IOCTL_USB_HUB_CYCLE_PORT
在设备管理器中通过设备的实例ID查找到设备后,然后确定设备端口中,再根据设备端口号获取其父设备即USB集本器,打开集线器,发送IOCTL_USB_HUB_CYCLE_PORT 请求来复位集线器端口达到复位设备。IOCTL_USB_HUB_CYCLE_PORT在Vista和Windows 7下不支持......
Windows判断USB设备工作在高速、全速还是低速模式代码示例
如果一个USB的设备管理器中bcdUSB值为0x200,那么它一定是高速吗?答案是否定的,因为USB2.0规范定义的是USB低速,全速和高速模式,所以说设备工作在那种模式,完全是由固件和硬件决定的。只是其满足USB2.0规范而已,所以USB2.0并不等于高速,但支持USB高速模式的肯定要满足USB2......
USBIP 获取集线器下游端口连接信息IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
USB集线器其实支持3个IOCTL用于获取下游端口的连接信息。这两个IOCTL分别为IOCTL_USB_GET_NODE_CONNECTION_INFORMATION、IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX、IOCTL_USB_GET_NODE_CO......
使用usbioctl、setupapi和cfgmgr32与GUID头文件报错的问题处理
话不多说,直接使用可以正常运行的。#include #include #include #include #include #inclu......
Windows系统USB控制器百科
Windows系统下的USB控制器可以通过设备管理器来查看。具体方法是选择任意一USB设备,然后按连接显示。这样其上级为PCIE设备的就是USB控制器。如本人计算机中的USB控制器设备如下:USB控制器一般是挂在PCIE总线上,该控制器会有一个根USB集线器。本人计算机中的该USB控制器硬......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!