平台 SDK: 文件存储

GetLogicalDriveStrings

GetLogicalDriveStrings函数使用指定系统中有效驱动器的字符串填充缓冲区。

DWORD GetLogicalDriveStrings(
  DWORD nBufferLength,  // 缓冲区的大小
  LPTSTR lpBuffer       // 驱动字符串缓冲
);

参数

  • nBufferLength

  • [in] 指定由lpBuffer指向的缓冲区的最大大小(以字符为单位)。 该大小不包括终止空字符。 如果此参数为零,则不使用lpBuffer。

  • lpBuffer

  • [out] 指向缓冲区的指针,该缓冲区接收一系列以null结尾的字符串,一个用于系统中的每个有效驱动器,以第二个空字符结尾。 以下示例使用<null>显示了表示终止空字符的缓冲区内容。

    c:\<null>d:\<null><null>

返回值

如果函数成功,则返回值是复制到缓冲区的字符串的长度(以字符为单位),不包括终止空字符。 请注意,ANSI-ASCII空字符使用一个字节,但Unicode空字符使用两个字节。

如果缓冲区不够大,则返回值大于nBufferLength。 这是保存驱动器字符串所需的缓冲区的大小。

如果函数失败,返回值为零。 要获得扩展的错误信息,请使用GetLastError函数。

备注

缓冲区中的每个字符串可用于需要根目录的任何地方,例如GetDriveType和GetDiskFreeSpace函数。

Windows 95/98/Me: GetLogicalDriveStringsW由Microsoft层为Unicode支持。 要使用它,必须将某些文件添加到应用程序中,如Windows 95/98 / Me系统上的Microsoft Layer for Unicode所述。

Windows XP: 该函数返回全局和本地MS-DOS设备名称空间中驱动器的串联。 如果在两个名称空间中均存在驱动器,则此函数将返回本地MS-DOS设备名称空间中的条目。

有关全局和本地MS-DOS设备命名空间和Windows XP中MS-DOS设备名称的可访问性的更多信息,请参阅MS-DOS设备名称。

要求

  Windows NT/2000/XP: 包含在Windows NT 3.1和更高版本中。

  Windows 95/98/Me: 包含在Windows 95和更高版本中。

  头文件: 声明于 Winbase.h; 包含于 Windows.h.
  库: 使用Kernel32.lib.

  Unicode: 在Windows NT/2000/XP上作为Unicode和ANSI版本实现。 Microsoft层还支持Unicode。