getLogicalDriveStringsW 函数 (fileapi.h)
使用在系统中指定有效驱动器的字符串填充缓冲区。
语法
DWORD GetLogicalDriveStringsW(
[in] DWORD nBufferLength,
[out] LPWSTR lpBuffer
);
参数
[in] nBufferLength
lpBuffer 指向的缓冲区的最大大小(以 TCHAR 为单位)。 此大小不包括终止 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 协议 | 否 |
SMB 3.0 透明故障转移 (TFO) | 否 |
具有横向扩展文件共享的 SMB 3.0 (SO) | 否 |
群集共享卷文件系统 (CSV) | 是 |
弹性文件系统 (ReFS) | 是 |
SMB 不支持卷管理功能。
示例
有关示例,请参阅 从文件句柄获取文件名。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | fileapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |