Bagikan melalui


Fungsi VerFindFileW (winver.h)

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

Sintaksis

DWORD VerFindFileW(
  [in]           DWORD   uFlags,
  [in]           LPCWSTR szFileName,
  [in, optional] LPCWSTR szWinDir,
  [in]           LPCWSTR szAppDir,
  [out]          LPWSTR  szCurDir,
  [in, out]      PUINT   puCurDirLen,
  [out]          LPWSTR  szDestDir,
  [in, out]      PUINT   puDestDirLen
);

Parameter

[in] uFlags

Jenis: DWORD

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

Nilai Arti
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.

Mengembalikan nilai

Jenis: DWORD

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

Mengembalikan kode/nilai Deskripsi
VFF_CURNEDEST
0x0001
Versi file yang saat ini diinstal tidak berada di tujuan yang direkomendasikan.
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.

Komentar

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 pribadi untuk aplikasi ini (bukan 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.

Nota

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

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target 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