我用CreatFile打开一个设备,然后用ReadFile/WriteFile都对这个HID设备无法成功读写。好像得用report方式。我需要怎么做,能否把流程给我,非常感谢!可以用DeviceIoControl得到设备句柄的方式,并进行访问么?

解决方案 »

  1.   

    HID KEYBOARD/MOUSE在WIN2000/XP下是没有办法读写的,因为系统认为他们是独占设备
      

  2.   

    我的设备不是键盘,也不是鼠标。是台ups。插上后,发现它是HID设备。我想对它进行读写。当然先找他到了:HidD_GetHidGuid();
    SetupDiGetClassDevs();
    SetupDiEnumDeviceInterfaces();
    SetupDiGetDeviceInterfaceDetail();
    DeviceHandle=CreateFile();过程如上,找到后,CreateFile返回也正常,就用他返回的句柄进行操作,
    char buf[]="test";
    Result = WriteFile (DeviceHandle, buf, sizeof(buf),&n, NULL);
    写不成功,就用读试了一下
    Result = ReadFile (DeviceHandle, buf, sizeof(buf), &n, NULL);
    仍然失败,难道只能用所说的report才行么?
    那我又怎么得到report句柄,并读写呢。是用DeviceIoControl()么?能否给个例子,像我上面写的那样也行啊。当然越详细越好了。
    有劳有劳了!多谢!!
      

  3.   

    首先多谢你的帮助!照这上面讲的,我用ReadFile/WriteFile就已经是对HID设备进行传输数据了,而且应该R/W的就是report,为什么我们也没有R/W到呢?郁闷!难道是设备的事?这种可能很小吧