Fungsi GetTempFileNameA (fileapi.h)

Membuat nama untuk file sementara. Jika nama file unik dibuat, file kosong dibuat dan handel untuknya dirilis; jika tidak, hanya nama file yang dihasilkan.

Sintaks

UINT GetTempFileNameA(
  [in]  LPCSTR lpPathName,
  [in]  LPCSTR lpPrefixString,
  [in]  UINT   uUnique,
  [out] LPSTR  lpTempFileName
);

Parameter

[in] lpPathName

Jalur direktori untuk nama file. Aplikasi biasanya menentukan titik (.) untuk direktori saat ini atau hasil fungsi GetTempPath . String tidak boleh lebih panjang dari MAX_PATH–14 karakter atau GetTempFileName akan gagal. Jika parameter ini NULL, fungsi gagal.

[in] lpPrefixString

String awalan yang dihentikan null. Fungsi ini menggunakan hingga tiga karakter pertama dari string ini sebagai awalan nama file. String ini harus terdiri dari karakter dalam set karakter yang ditentukan OEM.

[in] uUnique

Bilangan bulat yang tidak ditandatangani untuk digunakan dalam membuat nama file sementara. Untuk informasi selengkapnya, lihat Keterangan.

Jika uUnique adalah nol, fungsi mencoba membentuk nama file unik menggunakan waktu sistem saat ini. Jika file sudah ada, jumlahnya ditingkatkan satu dan fungsi menguji jika file ini sudah ada. Ini berlanjut sampai nama file unik ditemukan; fungsi membuat file dengan nama tersebut dan menutupnya. Perhatikan bahwa fungsi tidak mencoba memverifikasi keunikan nama file ketika uUnique bukan nol.

[out] lpTempFileName

Penunjuk ke buffer yang menerima nama file sementara. Buffer ini harus MAX_PATH karakter untuk mengakomodasi jalur ditambah karakter null yang mengakhiri.

Nilai kembali

Jika fungsi berhasil, nilai pengembalian menentukan nilai numerik unik yang digunakan dalam nama file sementara. Jika parameter uUnique bukan nol, nilai yang dikembalikan menentukan angka yang sama.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Berikut ini adalah nilai pengembalian yang mungkin.

Mengembalikan nilai Deskripsi
ERROR_BUFFER_OVERFLOW
Panjang string yang ditujukkan oleh parameter lpPathName lebih dari MAX_PATH–14 karakter.

Keterangan

Fungsi GetTempFileName membuat nama file sementara dari formulir berikut:

<jalur>\<sebelum><uuuu>. TMP

Tabel berikut menguraikan sintaks nama file.

Komponen Makna
<Jalan> Jalur yang ditentukan oleh parameter lpPathName
<pre> Tiga huruf pertama dari string lpPrefixString
<uuuu> Nilai heksadesimal uUnique
 

Jika uUnique adalah nol, GetTempFileName membuat file kosong dan menutupnya. Jika uUnique bukan nol, Anda harus membuat file sendiri. Hanya nama file yang dibuat, karena GetTempFileName tidak dapat menjamin bahwa nama file unik.

Hanya 16 bit yang lebih rendah dari parameter uUnique yang digunakan. Ini membatasi GetTempFileName hingga maksimum 65.535 nama file unik jika parameter lpPathName dan lpPrefixString tetap sama.

Karena algoritma yang digunakan untuk menghasilkan nama file, GetTempFileName dapat berkinerja buruk saat membuat sejumlah besar file dengan awalan yang sama. Dalam kasus seperti itu, disarankan agar Anda membuat nama file unik berdasarkan GUIDs.

File sementara yang namanya telah dibuat oleh fungsi ini tidak dihapus secara otomatis. Untuk menghapus file ini, panggil DeleteFile.

Untuk menghindari masalah yang dihasilkan saat mengonversi string ANSI, aplikasi harus memanggil fungsi CreateFile untuk membuat file sementara.

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Ya
SMB 3.0 Transparent Failover (TFO) Ya
SMB 3.0 dengan Berbagi File Peluasan Skala (SO) Ya
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya
 

Contoh

Misalnya, lihat Membuat dan Menggunakan File Sementara.

Catatan

Header fileapi.h mendefinisikan GetTempFileName sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header fileapi.h (sertakan Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateFile

DeleteFile

Fungsi Manajemen File

GetTempPath

Menamai File, Jalur, dan Namespace