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.

SID Makna
NULL
Menentukan pengguna yang masuk.
Pengidentifikasi keamanan pengguna
Menentukan enumerasi untuk ID pengguna tertentu dalam sistem. Contoh berikut mengidentifikasi kemungkinan SID pengguna: "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Catatan String SID khusus "S-1-5-18" (sistem) tidak dapat digunakan untuk menghitung produk yang diinstal sebagai per komputer. Jika dwContextMSIINSTALLCONTEXT_MACHINE, szUserSid harus NULL.
 

[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.

Konteks Makna
MSIINSTALLCONTEXT_USERMANAGED
1
Kueri yang diperluas ke semua penginstalan yang dikelola per pengguna untuk pengguna yang ditentukan szUserSid .
MSIINSTALLCONTEXT_USERUNMANAGED
2
Kueri yang diperluas ke semua penginstalan per-pengguna-tidak terkelola untuk pengguna yang ditentukan szUserSid .
MSIINSTALLCONTEXT_MACHINE
4
Kueri yang diperluas ke semua penginstalan per komputer.

[in] szProperty

String yang dihentikan null yang menentukan nilai properti yang akan diambil. Parameter szProperty dapat berupa salah satu hal berikut:

Nama Makna
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Mendapatkan file patch yang di-cache yang digunakan produk.
INSTALLPROPERTY_TRANSFORMS
"Transformasi"
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.
INSTALLPROPERTY_INSTALLDATE
"InstallDate"
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.
INSTALLPROPERTY_UNINSTALLABLE
"Dapat dibongkar"
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.
INSTALLPROPERTY_PATCHSTATE
"Status"
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 .
INSTALLPROPERTY_DISPLAYNAME
"DisplayName"
Dapatkan nama tampilan terdaftar untuk patch. Untuk patch yang tidak menyertakan properti DisplayName dalam tabel MsiPatchMetadata , nama tampilan yang dikembalikan adalah string kosong ("").
INSTALLPROPERTY_MOREINFOURL
"MoreInfoURL"
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
ERROR_ACCESS_DENIED
Fungsi gagal mencoba mengakses sumber daya dengan hak istimewa yang tidak memadai.
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_FUNCTION_FAILED
Fungsi gagal dan kesalahan tidak diidentifikasi dalam kode kesalahan lainnya.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_MORE_DATA
Nilai tidak cocok dalam buffer yang disediakan.
ERROR_SUCCESS
Patch berhasil dijumlahkan.
ERROR_UNKNOWN_PRODUCT
Produk yang ditentukan szProduct tidak diinstal pada komputer.
ERROR_UNKNOWN_PROPERTY
Properti tidak dikenali.
ERROR_UNKNOWN_PATCH
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

Lihat juga

ProductCode

Menghapus Patch