GetShortPathName |
Declare Function Api_GetShortPathName& Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath$, ByVal lpszShortPath$, ByVal lBuffer&) |
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long |
|
短い形式のパス名を取得する。 |
|
パラメータ
この関数は、このパスに対応する短い名前を取得する。
この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加する。
格納される。
戻り値 (終端の NULL 文字を含む)が TCHAR 単位で返る。 この場合、戻り値に、TCHAR のサイズ(Unicode の場合は 2 バイト、それ以外の場合は 1 バイト)をかけた長さまたはそれを上回るサイ ズをバッファに割り当てて、この関数をもう一度呼び出す。
その他の理由で関数が失敗した場合は、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。
と、この関数は失敗し、ERROR_INVALID_PARAMETER が返る。
くなることもある。
ピーする。
言い換えると、短いパス名を格納するためのバッファを、入力パスの文字列と同じアドレスに設定してもかまわない。 パスの各コンポーネントに対して FindFirstFile 関数を呼び出し、それぞれに対応する長い名前を取得することもできる。 |