为什么我没有获得 USB 笔式驱动器的卷名

发布于 2024-09-06 19:59:55 字数 60 浏览 5 评论 0原文

我如何获取驱动器号的卷名称

示例:如何获取 G:/ 的卷名称

谢谢您的帮助

How can i get volume name for drive letter

example: how can i get volume name for G:/

Thank you for any help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

微暖i 2024-09-13 19:59:55
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
);

http://msdn.microsoft.com/en -us/library/aa364993(v=VS.85).aspx

将卷根路径(如“C:\”)传入,得到很多信息(包括卷名,也叫卷标签)出来。

自 Windows 2000 起可用。

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
);

http://msdn.microsoft.com/en-us/library/aa364993(v=VS.85).aspx

Pass the volume root path (such as "C:\") in, get a lot of information (including the volume name, also called the volume label) out.

Available since Windows 2000.

梦里泪两行 2024-09-13 19:59:55

使用以下代码片段:

TCHAR volumeName[MAX_PATH + 1] = { 0 };
TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
DWORD serialNumber = 0;
DWORD maxComponentLen = 0;
DWORD fileSystemFlags = 0;

if (GetVolumeInformation(
    _T("C:\\"),
    volumeName,
    ARRAYSIZE(volumeName),
    &serialNumber,
    &maxComponentLen,
    &fileSystemFlags,
    fileSystemName,
    ARRAYSIZE(fileSystemName)))
{
_tprintf(_T("Volume Name: %s\n"), volumeName);
_tprintf(_T("Serial Number: %lu\n"), serialNumber);
_tprintf(_T("File System Name: %s\n"), fileSystemName);
_tprintf(_T("Max Component Length: %lu\n"), maxComponentLen);
}

在我的系统上,输出是:

Volume Name: Zion
Serial Number: 112749257
File System Name: NTFS
Max Component Length: 255

Use the following snippet:

TCHAR volumeName[MAX_PATH + 1] = { 0 };
TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
DWORD serialNumber = 0;
DWORD maxComponentLen = 0;
DWORD fileSystemFlags = 0;

if (GetVolumeInformation(
    _T("C:\\"),
    volumeName,
    ARRAYSIZE(volumeName),
    &serialNumber,
    &maxComponentLen,
    &fileSystemFlags,
    fileSystemName,
    ARRAYSIZE(fileSystemName)))
{
_tprintf(_T("Volume Name: %s\n"), volumeName);
_tprintf(_T("Serial Number: %lu\n"), serialNumber);
_tprintf(_T("File System Name: %s\n"), fileSystemName);
_tprintf(_T("Max Component Length: %lu\n"), maxComponentLen);
}

On my system the output was:

Volume Name: Zion
Serial Number: 112749257
File System Name: NTFS
Max Component Length: 255
倾城月光淡如水﹏ 2024-09-13 19:59:55

您可以从此代码中获取它:

BOOL WINAPI GetVolumeNameForVolumeMountPoint(
  __in   LPCTSTR lpszVolumeMountPoint,
  __out  LPTSTR lpszVolumeName,
  __in   DWORD cchBufferLength
);

如需进一步参考 点击这里

You can get it from this code:

BOOL WINAPI GetVolumeNameForVolumeMountPoint(
  __in   LPCTSTR lpszVolumeMountPoint,
  __out  LPTSTR lpszVolumeName,
  __in   DWORD cchBufferLength
);

For further reference Click here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文