应用层调用通过hid.dll调用ReadFile读取自定久HID输入报告数据丢数的问题
ReadFile是通过读取驱动中从固件中读取的HID数据队列来实现的,也就是说驱动将HID的数据读到一个队列中缓存,这时无论应用层是否调用ReadFile,都会在一直读数据缓存的。不过这个缓存的个数有个限制,在Windows驱动中限制为32,如果固件中发送的过快,而应用层读的很慢,会丢数据。这时可以通过HidD_SetNumInputBuffers来设置。可最大设置为512。而当前的可通过HidD_GetNumInputBuffers来获取。