<Return[G]><Top>

GetFullPathName

Declare Function Api_GetFullPathName& Lib "kernel32" Alias "GetFullPathNameA" (ByVal lpFileName$, ByVal nBufferLength&, ByVal lpBuffer$, ByVal lpFilePart&)

Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" (ByVal lpFileName As String, ByVal nBufferLength As Long, ByVal lpBuffer As String, ByVal lpFilePart As String) As Long

指定されたファイルのフルパスとファイル名を取得する。

パラメータ
lpFileName
    有効なファイル名を保持している、NULL で終わる文字列へのポインタを指定する。

    この文字列は、短いファイル名(8.3 形式)でも長いファイル名でもかまわない。
nBufferLength
    lpBuffer パラメータが指す、ドライブ名とパス名を格納するためのバッファのサイズを TCHAR 単位で指定する。
lpBuffer
    1 個のバッファへのポインタを指定する。関数から制御が返ると、このバッファに、ドライブ名とパス名を表す、NULL で終わる文字列が格

    納される。
lpFilePart
    1 個の変数へのポインタを指定する。関数から制御が返ると、この変数に、lpBuffer パラメータが指すパスのうち、最後のファイル名コンポ

    ーネントのアドレスが格納される。
 

戻り値
    関数が成功すると、lpBuffer が指すバッファに書き込まれた文字数(終端の NULL 文字を除く)が TCHAR 単位で返る。
    lpBuffer が指すバッファが必要なサイズより小さかった場合、必要なサイズ(終端の NULL 文字を含む)が TCHAR 単位で返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    GetFullPathName は、カレントドライブとカレントディレクトリを、指定されたファイル名に結合し、指定されたファイルのフルパスとファイル名を

    判断する。また、フルパス名とファイル名を組み合わせた文字列のうち、ファイル名部分のアドレスを計算する。この関数は、組み合わ

    せによって得られたパスとファイル名が有効であるかどうか、およびそれらが適切なボリュームの既存のファイルを指しているかどうかを確認し

    ない。
    GetFullPathName は、指定されたファイル名、つまり lpFileName パラメータの変換を行わない。

    指定されたファイル名が存在する場合、GetLongPathName と GetShortPathName の各関数を使うと、長いパス名または短いパス名へ

    の変換を行う。