Fungsi VerInstallFileA (winver.h)
Menginstal file yang ditentukan berdasarkan informasi yang dikembalikan dari fungsi VerFindFile . VerInstallFile mendekompresi file, jika perlu, menetapkan nama file unik, dan memeriksa kesalahan, seperti file yang kedaluarsa.
Sintaks
DWORD VerInstallFileA(
[in] DWORD uFlags,
[in] LPCSTR szSrcFileName,
[in] LPCSTR szDestFileName,
[in] LPCSTR szSrcDir,
[in] LPCSTR szDestDir,
[in] LPCSTR szCurDir,
[out] LPSTR szTmpFile,
[in, out] PUINT puTmpFileLen
);
Parameter
[in] uFlags
Jenis: DWORD
Parameter ini bisa menjadi salah satu nilai berikut. Semua bit lainnya dicadangkan.
[in] szSrcFileName
Jenis: LPCTSTR
Nama file yang akan diinstal. Ini adalah nama file dalam direktori yang diarahkan oleh parameter szSrcDir ; nama file hanya dapat menyertakan nama file dan ekstensi, bukan jalur.
[in] szDestFileName
Jenis: LPCTSTR
Nama VerInstallFile akan memberikan file baru saat penginstalan. Nama file ini mungkin berbeda dari nama file di direktori szSrcFileName . Nama baru hanya boleh menyertakan nama file dan ekstensi, bukan jalur.
[in] szSrcDir
Jenis: LPCTSTR
Nama direktori tempat file dapat ditemukan.
[in] szDestDir
Jenis: LPCTSTR
Nama direktori tempat file harus diinstal. VerFindFile mengembalikan nilai ini dalam parameter szDestDir-nya .
[in] szCurDir
Jenis: LPCTSTR
Nama direktori tempat versi file ini yang sudah ada sebelumnya dapat ditemukan. VerFindFile mengembalikan nilai ini dalam parameter szCurDir-nya .
[out] szTmpFile
Jenis: LPTSTR
Nama salinan sementara file sumber. Buffer harus setidaknya _MAX_PATH karakter panjang, meskipun ini tidak diperlukan, dan harus kosong pada input.
[in, out] puTmpFileLen
Jenis: PUINT
Panjang buffer szTmpFile . Penunjuk ini tidak boleh NULL.
Saat fungsi kembali, lpuTmpFileLen menerima ukuran, dalam karakter, data yang dikembalikan dalam szTmpFile, termasuk karakter null yang mengakhiri. Jika buffer terlalu kecil untuk berisi semua data, lpuTmpFileLen akan menjadi ukuran buffer yang diperlukan untuk menyimpan data.
Nilai kembali
Jenis: DWORD
Nilai yang dikembalikan adalah bitmask yang menunjukkan pengecualian. Ini bisa berupa satu atau beberapa nilai berikut. Semua nilai lainnya dicadangkan.
Mengembalikan kode/nilai | Deskripsi |
---|---|
|
Operasi baca, buat, hapus, atau ganti nama gagal karena pelanggaran akses. |
|
Buffer szTmpFile terlalu kecil untuk memuat nama file sumber sementara. Saat fungsi kembali, lpuTmpFileLen berisi ukuran buffer yang diperlukan untuk menyimpan nama file. |
|
Fungsi tidak dapat membuat file sementara. Kesalahan spesifik dapat dijelaskan oleh bendera lain. |
|
Fungsi tidak dapat menghapus file tujuan, atau tidak dapat menghapus versi file yang ada yang terletak di direktori lain. Jika bit VIF_TEMPFILE diatur, penginstalan gagal, dan file tujuan mungkin tidak dapat dihapus. |
|
Versi file yang ada tidak dapat dihapus dan VIFF_DONTDELETEOLD tidak ditentukan. |
|
Fungsi tidak dapat memuat file kabinet. |
|
Fungsi tidak dapat memuat file terkompresi. |
|
Fungsi tidak dapat membaca file tujuan (yang sudah ada). Ini mencegah fungsi memeriksa atribut file. |
|
Fungsi tidak dapat membaca file sumber. Ini bisa berarti bahwa jalur tidak ditentukan dengan benar. |
|
Fungsi tidak dapat mengganti nama file sementara, tetapi sudah menghapus file tujuan. |
|
File baru memerlukan halaman kode yang tidak dapat ditampilkan oleh versi sistem yang saat ini berjalan. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile dengan set bendera VIFF_FORCEINSTALL . |
|
File baru dan yang sudah ada sebelumnya memiliki nilai bahasa atau halaman kode yang berbeda. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile lagi dengan bendera VIFF_FORCEINSTALL diatur. |
|
File baru memiliki jenis, subjenis, atau sistem operasi yang berbeda dari file yang sudah ada sebelumnya. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile lagi dengan bendera VIFF_FORCEINSTALL diatur. |
|
File yang sudah ada sebelumnya sedang digunakan oleh sistem dan tidak dapat dihapus. |
|
File baru dan yang sudah ada sebelumnya berbeda dalam satu atau beberapa atribut. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile lagi dengan bendera VIFF_FORCEINSTALL diatur. |
|
Fungsi tidak dapat menyelesaikan operasi yang diminta karena memori yang tidak mencukup. Umumnya, ini berarti aplikasi kehabisan memori yang mencoba memperluas file terkompresi. |
|
Fungsi tidak dapat membuat file sementara karena ruang disk tidak cukup pada drive tujuan. |
|
Operasi baca, buat, hapus, atau ganti nama gagal karena pelanggaran berbagi. |
|
File yang akan diinstal lebih lama dari file yang sudah ada sebelumnya. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile lagi dengan bendera VIFF_FORCEINSTALL diatur. |
|
Salinan sementara file baru ada di direktori tujuan. Penyebab kegagalan tercermin dalam bendera lain. |
|
File yang sudah ada sebelumnya dilindungi terhadap penulisan. Kesalahan ini dapat ditimpa dengan memanggil VerInstallFile lagi dengan bendera VIFF_FORCEINSTALL diatur. |
Keterangan
Fungsi ini berfungsi pada gambar file 16,32-, dan 64-bit.
VerInstallFile menyalin file dari direktori sumber ke direktori tujuan. Jika szCurDir menunjukkan bahwa versi file sebelumnya ada pada sistem, VerInstallFile membandingkan informasi stempel versi file. Jika versi file yang diinstal sebelumnya lebih baru daripada versi baru, atau jika atribut file secara signifikan berbeda, misalnya, jika mereka dalam bahasa yang berbeda, maka VerInstallFile mengembalikan dengan satu atau beberapa kode kesalahan yang dapat dipulihkan.
VerInstallFile meninggalkan file sementara di direktori tujuan. Aplikasi dapat mengambil alih kesalahan atau menghapus file sementara. Jika aplikasi mengambil alih kesalahan, VerInstallFile menghapus versi yang diinstal sebelumnya dan mengganti nama file sementara dengan nama file asli.
Catatan
Header winver.h mendefinisikan VerInstallFile 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
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winver.h (termasuk Windows.h) |
Pustaka | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
Lihat juga
Konseptual
Referensi
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