<Return[G]><Top>

GetLogicalDriveStrings

Declare Function Api_GetLogicalDriveStrings& Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength&, ByVal lpBuffer$)

Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

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

パラメータ
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 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。