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 |
---|---|
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk