GetLogicalDriveStrings

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx

システムで利用可能なドライブを表す文字列をバッファに格納します。

DWORD GetLogicalDriveStrings(
  DWORD nBufferLength,  // バッファのサイズ
  LPTSTR lpBuffer       // ドライブの文字列を格納するバッファ
);

パラメータ

nBufferLength
lpBuffer パラメータが指すバッファに格納できる最大の文字数を指定します。このサイズには、終端の NULL 文字を含めません。
lpBuffer
1 個のバッファへのポインタを指定します。関数から制御が返ると、このバッファに、利用可能なディスクドライブのドライブ名が格納されます。ドライブ名とドライブ名の間は NULL 文字で区切られます。終端には NULL 文字が 2 回格納されます。次の例は、C と D の各ドライブが利用可能な状況を表しています。ここで、<null> は終端の NULL 文字を表しています。

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

戻り値

関数が成功すると、バッファに格納された文字列の長さが文字単位で返ります(終端の NULL 文字は含まない)。ANSI(ASCII)の NULL 文字が 1 バイトを使うのに対し、Unicode の NULL 文字が 2 バイトを使うことに注意してください。

バッファのサイズが不足すると、戻り値は nBufferLength より大きくなります。これは、ドライブ文字列を格納するのに必要なバッファのサイズを表しています。

関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。

解説

GetDriveType GetDiskFreeSpace の各関数のように、ルートディレクトリが必要な状況で、このバッファ内の各文字列を利用できます。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winbase.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Kernel32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装

参照

GetDriveType, GetDiskFreeSpace, GetLogicalDrives

表示: