GetVolumeInformation不能获取D盘的文件系统类型

terminator06030020 2013-05-17 09:38:31
1、GetVolumeInformation( "C:",Volumelabel,255,&SerialNumber,&MaxCLength,&FileSysFlag,FileSysName,255);
2、GetVolumeInformation( "D:",Volumelabel,255,&SerialNumber,&MaxCLength,&FileSysFlag,FileSysName,255);
第1个fileSysName能得到C盘的文件系统类型为:NTFS
但是第2个fileSysName不能得到D盘的文件系统类型为:NTFS
而且本机如果有其他盘的话也能获取到就是D盘不行,帮忙解释啊

...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2013-05-17
  • 打赏
  • 举报
回复
BOOL WINAPI GetVolumeInformation(
  __in_opt   LPCTSTR lpRootPathName,
  __out      LPTSTR lpVolumeNameBuffer,
  __in       DWORD nVolumeNameSize,
  __out_opt  LPDWORD lpVolumeSerialNumber,
  __out_opt  LPDWORD lpMaximumComponentLength,
  __out_opt  LPDWORD lpFileSystemFlags,
  __out      LPTSTR lpFileSystemNameBuffer,
  __in       DWORD nFileSystemNameSize
);

Parameters
lpRootPathName 
A pointer to a string that contains the root directory of the volume to be described.

If this parameter is NULL, the root of the current directory is used. A trailing backslash is required. For example, you specify \\MyServer\MyShare as "\\MyServer\MyShare\", or the C drive as "C:\".
terminator06030020 2013-05-17
  • 打赏
  • 举报
回复
我也测试了一下是可以的 但是不明白为什么写成D:不行而写成D:\\就成功了呢?
Eleven 2013-05-17
  • 打赏
  • 举报
回复
TCHAR Volumelabel[MAX_PATH + 1] = {0};
	TCHAR FileSysName[MAX_PATH + 1] = {0};
	GetVolumeInformation(L"C:\\", Volumelabel, MAX_PATH,NULL, NULL, NULL, FileSysName, MAX_PATH);
	CString str;
	str.Format(_T("%s - %s"), Volumelabel, FileSysName);
	AfxMessageBox(str);

	GetVolumeInformation(L"D:\\", Volumelabel, MAX_PATH,NULL, NULL, NULL, FileSysName, MAX_PATH);
	str.Format(_T("%s - %s"), Volumelabel, FileSysName);
	AfxMessageBox(str);
VS2008下测试一下,可以得到非系统盘D:的FileSysName,为NTFS
terminator06030020 2013-05-17
  • 打赏
  • 举报
回复
实际运行的时候没有提示错误,fileSysName里面为空,什么都没有获取到
傻X 2013-05-17
  • 打赏
  • 举报
回复
是这个ERROR_INVALID_NAME? GetVolumeInformation() 需要一个额外的反斜杠,具有 UNC 名称,以使名称有窗体 \ <server>\ <share>\。
hurryboylqs 2013-05-17
  • 打赏
  • 举报
回复
返回什么错误,LastError,GetVolumeInformationByHandleW 用这个试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧