使用指定系统中有效驱动器的字符串填充缓冲区。
Syntax
DWORD GetLogicalDriveStringsW(
[in] DWORD nBufferLength,
[out] LPWSTR lpBuffer
);
参数
[in] nBufferLength
TCHAR 中 lpBuffer 指向的缓冲区的最大大小。 此值包括终止 null 字符的空间。 如果此参数为零,则不使用 lpBuffer 。
[out] lpBuffer
指向一个缓冲区的指针,该缓冲区接收一系列以 null 结尾的字符串,一个用于系统中每个有效驱动器,另外还有一个 null 字符。 每个字符串都是设备名称。
返回值
如果函数成功,则返回值为复制到缓冲区的字符串的长度(以字符为单位),不包括终止 null 字符。 请注意,ANSI-ASCII null 字符使用一个字节,但 Unicode (UTF-16) null 字符使用两个字节。
如果缓冲区不够大,则返回值大于 nBufferLength。 它是保存驱动器字符串所需的缓冲区大小。
如果函数失败,则返回值为零。 若要获取扩展的错误信息,请使用 GetLastError 函数。
注解
无论需要根目录(例如 GetDriveType 和 GetDiskFreeSpace 函数),缓冲区中的每个字符串都可以使用。
此函数返回全局和本地 MS-DOS 设备命名空间中的驱动器串联。 如果这两个命名空间中都存在驱动器,此函数将返回本地 MS-DOS 设备命名空间中的条目。 有关详细信息,请参阅 定义 MS DOS 设备名称。
在 Windows 8 和 Windows Server 2012 中,以下技术支持此函数。
| 科技 | 已支持 |
|---|---|
| 服务器消息块 (SMB) 3.0 协议 | No |
| SMB 3.0 透明故障转移 (TFO) | No |
| 具有横向扩展文件共享的 SMB 3.0 (SO) | No |
| 群集共享卷文件系统 (CsvFS) | 是的 |
| 可复原文件系统 (ReFS) | 是的 |
SMB 不支持卷管理功能。
例子
有关示例,请参阅 从文件句柄获取文件名。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows XP [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | fileapi.h (包括 Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |