你在上面所指的各种请求都不是在应用程序中来体现的。这些只是当WINDOW检测到USB设备的时候进行列举的一上过程只是USB设备响应列举的过程,这是USB控制传输中的一些指令。这些只是在设备的驱动程序中用到的东西,至于你讲的应用程序中根本不需要去关心这些的。你只关心去读写数据。
其实你的第一和第二个问题是相同 的问题。在应用程序中用户请求只是对HID设备写数据。上面的这些不需要你去关心。对HID设备进行读写用到的API一般为WriteFile和ReadFile。
一般的USB设备都得有驱动程序,不然你无法跟设备通讯。须不须要写就得根据设备来决定了,一般的是不用的。因为windows98以上的版本中都包括了 HID通信需要的各种信息。不需要再安装驱动的。因为windows 都已内置。
API的ReadFile、WirteFile与HidD_SetFeature、HidD_GetFeature有什么区别,HidD_SetFeature、HidD_GetFeature只是在查找与设备相匹配的驱动程序的过程中使用的。这些完成之后,应用程序和设备都准备好ReadFile、WirteFileAPI函数在报告里交换数据的。不一样的。前者只是请求设备的相应信息。后才是传输数据。一般来讲很少在应用程序中用到HidD_SetFeature、HidD_GetFeature。因为这个只是计算机操作系统完成的。 |