Bagikan melalui


Fungsi MsiEnumPatchesW (msi.h)

Fungsi MsiEnumPatches menghitung semua patch yang telah diterapkan pada produk. Fungsi mengembalikan GUID kode patch untuk setiap patch yang telah diterapkan ke produk dan mengembalikan daftar transformasi dari setiap patch yang berlaku untuk produk. Perhatikan bahwa patch mungkin memiliki banyak transformasi hanya beberapa yang berlaku untuk produk tertentu. Daftar transformasi dikembalikan dalam format yang sama dengan nilai properti TRANSFORMS .

CatatanpcchTransformsBuf tidak diatur ke jumlah karakter yang disalin ke lpTransformsBuf setelah pengembalian MsiEnumPatches berhasil.
 

Sintaksis

UINT MsiEnumPatchesW(
  [in]      LPCWSTR szProduct,
  [in]      DWORD   iPatchIndex,
  [out]     LPWSTR  lpPatchBuf,
  [out]     LPWSTR  lpTransformsBuf,
  [in, out] LPDWORD pcchTransformsBuf
);

Parameter

[in] szProduct

Menentukan kode produk produk yang patchnya akan dijumlahkan.

[in] iPatchIndex

Menentukan indeks patch yang akan diambil. Parameter ini harus nol untuk panggilan pertama ke fungsi MsiEnumPatches lalu ditahapkan untuk panggilan berikutnya.

[out] lpPatchBuf

Penunjuk ke buffer yang menerima GUID patch. Argumen ini diperlukan.

[out] lpTransformsBuf

Pointer ke buffer yang menerima daftar transformasi dalam patch yang berlaku untuk produk. Argumen ini diperlukan dan tidak boleh Null.

[in, out] pcchTransformsBuf

Atur ke jumlah karakter yang disalin ke lpTransformsBuf pada pengembalian fungsi yang tidak berhasil. Tidak diatur untuk pengembalian yang berhasil. Pada input, ini adalah ukuran penuh buffer, termasuk spasi untuk karakter null yang mengakhiri. Jika buffer yang diteruskan terlalu kecil, jumlah yang dikembalikan tidak menyertakan karakter null yang mengakhiri.

Mengembalikan nilai

Nilai Arti
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_NO_MORE_ITEMS
Tidak ada patch untuk kembali.
ERROR_SUCCESS
Nilai dijumlahkan.
ERROR_MORE_DATA
Buffer terlalu kecil untuk menyimpan data yang diminta.

Komentar

Untuk menghitung patch, aplikasi awalnya harus memanggil fungsi MsiEnumPatches dengan parameter iPatchIndex diatur ke nol. Aplikasi kemudian harus meningkatkan parameter iPatchIndex dan memanggil MsiEnumPatches sampai tidak ada lagi produk (sampai fungsi kembali ERROR_NO_MORE_ITEMS).

Jika buffer terlalu kecil untuk menyimpan data yang diminta, MsiEnumPatches mengembalikan ERROR_MORE_DATA dan pcchTransformsBuf berisi jumlah karakter yang disalin ke lpTransformsBuf, tanpa menghitung karakter Null.

Nota

Header msi.h mendefinisikan MsiEnumPatches 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 Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 pada Windows Server 2008 atau Windows Vista. Windows Installer pada Windows Server 2003 atau Windows XP. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Penginstal Windows.
Platform Target Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll