以指定系統中有效磁碟驅動器的字串填入緩衝區。
語法
DWORD GetLogicalDriveStringsW(
[in] DWORD nBufferLength,
[out] LPWSTR lpBuffer
);
參數
[in] nBufferLength
lpBuffer 所指向的緩衝區最大大小,以 TCHAR 為單位。 此值包含終止空字符的空間。 若參數為零,則不使用 lpBuffer 。
[out] lpBuffer
一個指向緩衝區的指標,接收一系列 null 終止字串,對應系統中每個有效磁碟,外加一個 null 字元。 每條字串都是一個裝置名稱。
返回值
若函式成功,回傳值即為複製至緩衝區的字串長度(以字元計),不含終止的空字元。 請注意,ANSI-ASCII 空字元使用一個位元組,但 Unicode(UTF-16)空字元使用兩個位元組。
若緩衝區不夠大,回傳值將大於 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) | 不 |
| 叢集共用磁碟區檔案系統 (CsvFS) | 是的 |
| 復原檔案系統 (ReFS) | 是的 |
SMB 不支援磁碟區管理功能。
範例
如需範例,請參閱 從檔案句柄取得檔名。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| 目標平臺 | 窗戶 |
| Header | fileapi.h (包括 Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |