解决方案 »

  1.   

    GetFileSize(hFile,NULL); 是否获取到值了
      

  2.   

    你的程序也有问题
    filesize = GetFileSize(hFile,NULL);
    int *buffer= new int[filesize + 1];
    分配的空间有文it。filesize表示的是文件的字节数长度,分配空间也应该是字节数组,而不是整形数组
      

  3.   

    我看到,GetFileSize返回的是0xffff ffff,也是失败的
      

  4.   

    分配空间我改成过char *buffer= new char[filesize + 1];也不行
      

  5.   

    那是肯定的了。GetFileSize都不对,下面的都没意义了。
      

  6.   

    GetFileSize处,也用GetLastError看看
      

  7.   

    那是肯定的了。GetFileSize都不对,下面的都没意义了。
    我getlasterror返回的是1,功能错误。可是我的createfile都成功了的。这是什么情况呢
      

  8.   

    是一个TCHAR *pDeviceName存文件名的。
    值是"\\?\USB#Vid_0a12&Pid_0001#5&10b270c0&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}"
    我想要打开一个设备用的。
      

  9.   

    是一个TCHAR *pDeviceName存文件名的。
    值是"\\?\USB#Vid_0a12&Pid_0001#5&10b270c0&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}"
    我想要打开一个设备用的。那就是这个pDeviceName变量传的值有问题咯,再看看
      

  10.   

    我还奇怪哦,一个通信设备能够使用 GetFileSize 吗?You cannot use the GetFileSize function with a handle of a nonseeking device such as a pipe or a communications device
      

  11.   

    凭空推测,你要做COM口通讯,但设备不存在,比如你写COM1,其实PC上没有COM1,只有COM4等,
    建议这个设备名你可以让用户来选择。
      

  12.   

    我其实是想用createfile打开一个蓝牙键盘,readfile来和这个键盘通信,不断读取这个键盘的状态。