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 函数。

备注

缓冲区中的每个字符串都可以用于需要根目录的位置,例如 GetDriveTypeGetDiskFreeSpace 函数。

此函数返回全局和本地 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

另请参阅

GetDiskFreeSpace

GetDriveType

GetLogicalDrives

卷管理函数