Bagikan melalui


Fungsi VerFindFileA (winver.h)

Menentukan tempat untuk menginstal file berdasarkan apakah file menemukan versi lain dari file dalam sistem. Nilai yang dikembalikan VerFindFile dalam buffer yang ditentukan digunakan dalam panggilan berikutnya ke fungsi VerInstallFile .

Sintaks

DWORD VerFindFileA(
  [in]           DWORD  uFlags,
  [in]           LPCSTR szFileName,
  [in, optional] LPCSTR szWinDir,
  [in]           LPCSTR szAppDir,
  [out]          LPSTR  szCurDir,
  [in, out]      PUINT  puCurDirLen,
  [out]          LPSTR  szDestDir,
  [in, out]      PUINT  puDestDirLen
);

Parameter

[in] uFlags

Jenis: DWORD

Parameter ini bisa menjadi nilai berikut. Semua bit lainnya dicadangkan.

Nilai Makna
VFFF_ISSHAREDFILE
0x0001
File sumber dapat dibagikan oleh beberapa aplikasi. Aplikasi dapat menggunakan informasi ini untuk menentukan di mana file harus disalin.

[in] szFileName

Jenis: LPCTSTR

Nama file yang akan diinstal. Sertakan hanya nama file dan ekstensi, bukan jalur.

[in, optional] szWinDir

Jenis: LPCTSTR

Direktori tempat Windows berjalan atau akan dijalankan. String ini dikembalikan oleh fungsi GetWindowsDirectory .

[in] szAppDir

Jenis: LPCTSTR

Direktori tempat program penginstalan menginstal sekumpulan file terkait. Jika program penginstalan menginstal aplikasi, ini adalah direktori tempat aplikasi akan berada. Parameter ini juga menunjuk ke direktori aplikasi saat ini kecuali ditentukan lain.

[out] szCurDir

Jenis: LPWSTR

Buffer yang menerima jalur ke versi file saat ini yang sedang diinstal. Jalur adalah string yang dihentikan nol. Jika versi saat ini tidak diinstal, buffer akan berisi string panjang nol. Buffer harus setidaknya _MAX_PATH karakter panjang, meskipun ini tidak diperlukan.

[in, out] puCurDirLen

Jenis: PUINT

Panjang buffer szCurDir . Penunjuk ini tidak boleh NULL.

Saat fungsi kembali, lpuCurDirLen berisi ukuran, dalam karakter, data yang dikembalikan dalam szCurDir, termasuk karakter null yang mengakhiri. Jika buffer terlalu kecil untuk berisi semua data, lpuCurDirLen akan menjadi ukuran buffer yang diperlukan untuk menahan jalur.

[out] szDestDir

Jenis: LPTSTR

Buffer yang menerima jalur ke lokasi penginstalan yang direkomendasikan oleh VerFindFile. Jalur adalah string yang dihentikan nol. Buffer harus setidaknya _MAX_PATH karakter panjang, meskipun ini tidak diperlukan.

[in, out] puDestDirLen

Jenis: PUINT

Penunjuk ke variabel yang menentukan panjang buffer szDestDir . Penunjuk ini tidak boleh NULL.

Saat fungsi kembali, lpuDestDirLen berisi ukuran, dalam karakter, data yang dikembalikan dalam szDestDir, termasuk karakter null yang mengakhiri. Jika buffer terlalu kecil untuk berisi semua data, lpuDestDirLen akan menjadi ukuran buffer yang diperlukan untuk menahan jalur.

Nilai kembali

Jenis: DWORD

Nilai yang dikembalikan adalah bitmask yang menunjukkan status file. Ini bisa berupa satu atau beberapa nilai berikut. Semua nilai lainnya dicadangkan.

Mengembalikan kode/nilai Deskripsi
VFF_CURNEDEST
0x0001
Versi file yang saat ini terinstal tidak berada di tujuan yang disarankan.
VFF_FILEINUSE
0x0002
Sistem menggunakan versi file yang saat ini diinstal; oleh karena itu, file tidak dapat ditimpa atau dihapus.
VFF_BUFFTOOSMALL
0x0004
Setidaknya salah satu buffer terlalu kecil untuk berisi string yang sesuai. Aplikasi harus memeriksa buffer output untuk menentukan buffer mana yang terlalu kecil.

Keterangan

Fungsi ini berfungsi pada gambar file 16,32-, dan 64-bit.

VerFindFile mencari salinan file yang ditentukan dengan menggunakan fungsi OpenFile . Namun, ini menentukan direktori sistem dari direktori Windows yang ditentukan, atau mencari jalur.

Jika parameter dwFlags menunjukkan bahwa file bersifat privat untuk aplikasi ini (tidak VFFF_ISSHAREDFILE), VerFindFile merekomendasikan untuk menginstal file di direktori aplikasi. Jika tidak, jika sistem menjalankan salinan bersama sistem, fungsi merekomendasikan penginstalan file di direktori Windows. Jika sistem menjalankan salinan privat sistem, fungsi merekomendasikan penginstalan file di direktori sistem.

Catatan

Header winver.h mendefinisikan VerFindFile 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

GetWindowsDirectory

OpenFile

Sumber Daya Lain

Referensi

VerInstallFile

Informasi Versi