次の方法で共有


GetLogicalDriveStringsW 関数 (fileapi.h)

システム内の有効なドライブを指定する文字列をバッファーに格納します。

構文

DWORD GetLogicalDriveStringsW(
  [in]  DWORD  nBufferLength,
  [out] LPWSTR lpBuffer
);

パラメーター

[in] nBufferLength

LPBuffer が指すバッファーの最大サイズ (TCHAR 単位)。 この値には、終端の null 文字のスペースが含まれます。 このパラメーターが 0 の場合、 lpBuffer は使用されません。

[out] lpBuffer

一連の null で終わる文字列を受け取るバッファーへのポインター。システム内の有効なドライブごとに 1 つずつ、さらに null 文字が追加されます。 各文字列はデバイス名です。

戻り値

関数が成功した場合、戻り値はバッファーにコピーされた文字列の長さ (文字数) であり、終端の null 文字は含まれません。 ANSI-ASCII null 文字では 1 バイトが使用されますが、Unicode (UTF-16) の null 文字では 2 バイトが使用されることに注意してください。

バッファーが十分な大きさでない場合、戻り値は nBufferLength より大きくなります。 ドライブ文字列を保持するために必要なバッファーのサイズです。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、 GetLastError 関数を使用します。

注釈

GetDriveType 関数や GetDiskFreeSpace 関数など、ルート ディレクトリが必要な場合は、バッファー内の各文字列を使用できます。

この関数は、グローバル名前空間とローカル MS-DOS デバイス名前空間内のドライブの連結を返します。 ドライブが両方の名前空間に存在する場合、この関数は Local MS-DOS Device 名前空間のエントリを返します。 詳細については、「 MS DOS デバイス名の定義」を参照してください。

Windows 8 および Windows Server 2012 では、この関数は次のテクノロジでサポートされています。

テクノロジー サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル なし
SMB 3.0 透過的フェールオーバー (TFO) なし
SMB 3.0 とスケールアウト ファイル共有 (SO) なし
クラスター共有ボリューム ファイル システム (CsvFS) はい
回復性のあるファイル システム (ReFS) はい
 

SMB はボリューム管理機能をサポートしていません。

例示

例については、「ファイル ハンドルからファイル名を取得する」を参照してください。

Requirements

Requirement 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
Header fileapi.h (Windows.h を含む)
Library Kernel32.lib
DLL Kernel32.dll

こちらも参照ください

GetDiskFreeSpace

GetDriveType

GetLogicalDrives

ボリューム管理機能