<Return[G]><Top>

GetTempFileName

Declare Function Api_GetTempFileName& Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath$, ByVal lpPrefixString$, ByVal wUnique&, ByVal lpTempFileName$)

Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String)

一時ファイルのファイル名を作成する。このファイル名は、指定されたパスと指定された接頭辞の文字列、および指定された整数に基づいて形成された 16 進文字列、さらに .tmp 拡張子を連結したものである。
整数として 0 以外の値を指定することもできるが、この場合はこの関数はファイル名を作成するだけで実際のファイルを作成しないん。整数として 0 を指定すると、この関数は一意のファイル名を作成し、指定されたディレクトリ内に実際のファイルを作成する。

パラメータ
lpPathName
    一時ファイルのパス名を保持している、NULL で終わる ANSI 文字列へのポインタを指定する。

    通常、カレントディレクトリを示すピリオドか、GetTempPath 関数の実行結果を指定する。NULL を指定すると、この関数は失敗する。
lpPrefixString
    ファイル名の接頭辞を保持している、NULL で終わる ANSI 文字列へのポインタを指定する。

    この関数は、この接頭辞の最初の 3 文字を一時ファイルの最初の文字として使う。
uUnique
    符号なし整数を指定する。この関数は、この整数を変換して、一時ファイルの名前を形成する 16 進文字列を作成する。
    0 以外の値を指定すると、lpPrefixString パラメータで指定した接頭辞に、uUnique の値に相当する 16 進表記を連結して一時ファイル名

    を形成する。この場合、この関数は実際のファイルを作成しないし、このファイル名が一意かどうかをテストしない。
    0 を指定すると、この関数は、lpPrefixString パラメータで指定した接頭辞に、システム時刻に基づいて生成された 16 進文字列を連結す

    る。この場合、一時ファイルの一意の名前が得られるまで、この関数は毎回異なった値を使う。また、lpPrefixString が指すディレクトリ

    に、一時ファイルを実際に作成する。
lpTempFileName
    1 個のバッファへのポインタを指定する。関数から制御が返ると、このバッファに、一時ファイルの名前が格納される。このファイル名は、

    ANSI 文字セットで形成された、NULL で終わる文字列である。このバッファの長さは、MAX_PATH 文字以上にする。
 

戻り値
    関数が成功すると、一時ファイルの名前を作成するために使われた一意の数数が返る。

    uUnique パラメータが 0 ではない場合、uUnique パラメータと同じ値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。