Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat nama untuk file sementara. Jika nama file unik dibuat, file kosong dibuat dan handel ke file tersebut dirilis; jika tidak, hanya nama file yang dihasilkan.
Sintaksis
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 GetTempPath2 . String tidak boleh lebih panjang dari MAX_PATH-14 karakter atau GetTempFileName akan gagal. Jika parameter ini adalah NULL, fungsi gagal.
[in] lpPrefixString
String awalan yang dihentikan null. Fungsi ini menggunakan hingga tiga karakter pertama 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 hingga 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.
Mengembalikan nilai
Jika fungsi berhasil, nilai pengembalian menentukan nilai numerik unik yang digunakan dalam nama file sementara. Jika parameter
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Berikut ini adalah daftar kemungkinan nilai pengembalian:
| Mengembalikan nilai | Deskripsi |
|---|---|
| ERROR_BUFFER_OVERFLOW | Panjang string yang ditunjukkan oleh parameter lpPathName |
Komentar
Fungsi GetTempFileName
<path>\<pre><uuuu>.TMP
Tabel berikut menguraikan sintaks nama file:
| Komponen | Arti |
|---|---|
<path> |
Jalur yang ditentukan oleh parameter |
<pre> |
Tiga huruf pertama dari string |
<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
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 GUID. Anda juga dapat menambahkan ID proses saat ini ke string awalan untuk mengurangi kemungkinan tabrakan dalam operasi paralel.
File sementara yang namanya telah dibuat oleh fungsi ini tidak dihapus secara otomatis. Untuk menghapus panggilan file ini DeleteFile.
Untuk menghindari masalah yang diakibatkan saat mengonversi string ANSI, aplikasi harus memanggil fungsi CreateFile untuk membuat file sementara.
Mulai Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut:
| Teknologi | Didukung |
|---|---|
| Protokol Server Message Block (SMB) 3.0 | Yes |
| Failover Transparan (TFO) SMB 3.0 | Yes |
| SMB 3.0 dengan Scale-out File Shares (SOFS) | Yes |
| Sistem File Volume Bersama Kluster (CsvFS) | Yes |
| Sistem File Tangguh (ReFS) | Yes |
Contoh
Misalnya, lihat Membuat dan Menggunakan File Sementara.
Nota
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
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
| server minimum yang didukung |
Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
| Platform Target |
Windows |
| Header |
fileapi.h (termasuk Windows.h) |
| Pustaka |
Kernel32.lib |
| DLL |
Kernel32.dll |
Lihat juga
GetTempPath2