• 5193阅读
  • 0回复

在windows下在QT中调用CreateFile出错的问题 [复制链接]

上一主题 下一主题
离线fjb2080
 

只看楼主 倒序阅读 楼主  发表于: 2010-05-31

我在vs2008中编译一个测试代码,打开一个分区,没有问题!

测试通过后,我在vs2008里建立了一个QT工程,然后把测试代码嵌入里面,希望可以在图形界面中选择需要打开的分区,编译通过,但死活都是打开分区失败!

打开分区的代码如下:
_TCHAR volumePath[7];
_sntprintf(volumePath, 6, _T("\\\\.\\%c:"), volume);
volumePath[6] = _T('\0');
hVolume = CreateFile((LPCTSTR )volumePath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);


查找返回的错误代码显示的错误是:
刚开始的错误码是2:意思是找不到打开的文件
换了好几个分区来打开时变成了这个错误:@err,hr    0x0000007b 文件名、目录名或卷标语法不正确。     unsigned long
volumePath的值显示是:\\.\\C:
_TCHAR的大小是1
不知道qt对这种反斜杠的文件名:\\.\\C: 有没有敏感,以致打不开分区。

望知道错误的大侠指点


快速回复
限100 字节
 
上一个 下一个