Fungsi MsiGetPatchInfoExA (msi.h)
Fungsi MsiGetPatchInfoEx meminta informasi tentang aplikasi patch ke instans produk tertentu.
Sintaks
UINT MsiGetPatchInfoExA(
[in] LPCSTR szPatchCode,
[in] LPCSTR szProductCode,
[in] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] LPCSTR szProperty,
[out, optional] LPSTR lpValue,
[in, out] LPDWORD pcchValue
);
Parameter
[in] szPatchCode
String null-terminated yang berisi GUID patch. Parameter ini tidak boleh NULL.
[in] szProductCode
String yang dihentikan null yang berisi GUID ProductCode dari instans produk. Parameter ini tidak boleh NULL.
[in] szUserSid
String yang dihentikan null yang menentukan pengidentifikasi keamanan (SID) di mana instans patch yang sedang dikueri ada. Menggunakan nilai NULL menentukan pengguna saat ini.
[in] dwContext
Membatasi enumerasi ke konteks per pengguna yang tidak dikelola, dikelola per pengguna, atau per komputer. Parameter ini bisa menjadi salah satu nilai berikut.
[in] szProperty
String yang dihentikan null yang menentukan nilai properti yang akan diambil. Parameter szProperty dapat berupa salah satu hal berikut:
Nama | Makna |
---|---|
|
Mendapatkan file patch yang di-cache yang digunakan produk. |
|
Mendapatkan set transformasi patch yang diterapkan penginstalan patch terakhir ke produk. Nilai ini mungkin tidak tersedia untuk aplikasi per pengguna dan tidak terkelola jika pengguna tidak masuk. |
|
Mendapatkan terakhir kali produk ini menerima layanan. Nilai properti ini diganti setiap kali patch diterapkan atau dihapus dari produk atau Opsi Baris Perintah /v digunakan untuk memperbaiki produk. Jika produk tidak menerima perbaikan atau patch properti ini berisi waktu produk ini diinstal pada komputer ini. |
|
Mengembalikan "1" jika patch ditandai sebagai mungkin untuk menghapus instalasi dari produk. Dalam hal ini, alat penginstal masih dapat memblokir penghapusan instalasi jika patch ini diperlukan oleh patch lain yang tidak dapat dihapus instalasinya. |
|
Mengembalikan "1" jika patch ini saat ini diterapkan ke produk. Mengembalikan "2" jika patch ini digantikan oleh patch lain. Mengembalikan "4" jika patch ini usang. Nilai-nilai ini sesuai dengan konstanta yang digunakan parameter dwFilterMsiEnumPatchesEx . |
|
Dapatkan nama tampilan terdaftar untuk patch. Untuk patch yang tidak menyertakan properti DisplayName dalam tabel MsiPatchMetadata , nama tampilan yang dikembalikan adalah string kosong (""). |
|
Dapatkan URL informasi dukungan terdaftar untuk patch. Untuk patch yang tidak menyertakan properti MoreInfoURL dalam tabel MsiPatchMetadata , URL informasi dukungan yang dikembalikan adalah string kosong (""). |
[out, optional] lpValue
Parameter ini adalah penunjuk ke buffer yang menerima nilai properti. Buffer ini harus cukup besar untuk memuat informasi. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *pcchValue ke jumlah TCHAR dalam nilai properti, tidak termasuk karakter NULL yang mengakhiri.
Jika lpValue diatur ke NULL dan pcchValue diatur ke penunjuk yang valid, fungsi mengembalikan ERROR_SUCCESS dan mengatur *pcchValue ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri. Fungsi kemudian dapat dipanggil lagi untuk mengambil nilai , dengan buffer lpValue cukup besar untuk berisi *pcchValue + 1 karakter.
Jika lpValue dan pcchValue keduanya diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.
[in, out] pcchValue
Saat memanggil fungsi, parameter ini harus menjadi penunjuk ke variabel yang menentukan jumlah TCHAR dalam buffer lpValue . Ketika fungsi kembali, parameter ini diatur ke ukuran nilai yang diminta apakah fungsi menyalin nilai ke dalam buffer yang ditentukan atau tidak. Ukuran dikembalikan sebagai jumlah TCHAR dalam nilai yang diminta, tidak termasuk karakter null yang mengakhiri.
Parameter ini dapat diatur ke NULL hanya jika lpValue juga NULL. Jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.
Nilai kembali
Fungsi MsiGetPatchInfoEx mengembalikan nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi gagal mencoba mengakses sumber daya dengan hak istimewa yang tidak memadai. |
|
Data konfigurasi rusak. |
|
Fungsi gagal dan kesalahan tidak diidentifikasi dalam kode kesalahan lainnya. |
|
Parameter yang tidak valid diteruskan ke fungsi. |
|
Nilai tidak cocok dalam buffer yang disediakan. |
|
Patch berhasil dijumlahkan. |
|
Produk yang ditentukan szProduct tidak diinstal pada komputer. |
|
Properti tidak dikenali. |
|
Patch tidak dikenali. |
Keterangan
Pemasang Windows 2.0: Tidak didukung. Fungsi ini tersedia dimulai dengan Penginstal Windows versi 3.0.
Pengguna dapat meminta data patch untuk instans produk apa pun yang terlihat. Grup administrator dapat mengkueri data patch untuk setiap instans produk dan pengguna apa pun di komputer. Tidak semua nilai dijamin tersedia untuk aplikasi per pengguna yang tidak dikelola jika pengguna tidak masuk.
Catatan
Header msi.h mendefinisikan MsiGetPatchInfoEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 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 di Windows Server 2008 atau Windows Vista. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Pemasang Windows. |
Target Platform | Windows |
Header | msi.h |
Pustaka | Msi.lib |
DLL | Msi.dll |