Bagikan melalui


Fungsi MsiGetPatchInfoExA (msi.h)

kueri fungsi MsiGetPatchInfoEx untuk informasi tentang aplikasi patch ke instans produk tertentu.

Sintaksis

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 dapat null.

[in] szProductCode

String null-terminated yang berisi ProductCode GUID instans produk. Parameter ini tidak dapat null.

[in] szUserSid

String null-terminated yang menentukan pengidentifikasi keamanan (SID) di mana instans patch yang sedang dikueri ada. Menggunakan nilai NULL menentukan pengguna saat ini.

SID Arti
NULL
Menentukan pengguna yang masuk.
SID 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 mesin. 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 Arti
MSIINSTALLCONTEXT_USERMANAGED
1
Kueri yang diperluas ke semua penginstalan yang dikelola per pengguna untuk pengguna yang szUserSid tentukan.
MSIINSTALLCONTEXT_USERUNMANAGED
2
Kueri yang diperluas ke semua penginstalan per pengguna yang tidak dikelola untuk pengguna yang szUserSid tentukan.
MSIINSTALLCONTEXT_MACHINE
4
Kueri yang diperluas ke semua penginstalan per mesin.

[in] szProperty

Untai (karakter) null-terminated yang menentukan nilai properti yang akan diambil. Parameter szProperty bisa menjadi salah satu hal berikut:

Nama Arti
INSTALLPROPERTY_LOCALPACKAGE
"LocalPackage"
Mendapatkan file patch cache yang digunakan produk.
INSTALLPROPERTY_TRANSFORMS
"Transformasi"
Mendapatkan serangkaian transformasi patch yang diterapkan penginstalan patch terakhir ke produk. Nilai ini mungkin tidak tersedia untuk aplikasi per pengguna yang tidak dikelola 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 Command-Line /v digunakan untuk memperbaiki produk. Jika produk tidak menerima perbaikan atau patch properti ini berisi waktu produk ini diinstal pada komputer ini.
INSTALLPROPERTY_UNINSTALLABLE
"Uninstallable"
Mengembalikan "1" jika patch ditandai sebagai mungkin untuk menghapus instalan 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 dwFilter parameter MsiEnumPatchesEx gunakan.
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 berisi informasi. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *pcchValue ke jumlah TCHAR dalam nilai properti, tidak termasuk karakter NULL.

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 berakhir. Fungsi kemudian dapat dipanggil lagi untuk mengambil nilai , dengan lpValue buffer yang 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.

Mengembalikan nilai

Fungsi MsiGetPatchInfoEx mengembalikan nilai berikut.

Mengembalikan 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 szProduct tentukan tidak diinstal pada komputer.
ERROR_UNKNOWN_PROPERTY
Properti tidak dikenali.
ERROR_UNKNOWN_PATCH
Patch tidak dikenali.

Komentar

Windows Installer 2.0: Tidak didukung. Fungsi ini tersedia dimulai dengan Windows Installer versi 3.0.

Pengguna dapat meminta data patch untuk instans produk apa pun yang terlihat. Grup administrator dapat mengkueri data patch untuk instans produk apa pun dan pengguna apa pun di komputer. Tidak semua nilai dijamin tersedia untuk aplikasi per pengguna yang tidak dikelola jika pengguna tidak masuk.

Nota

Header msi.h mendefinisikan MsiGetPatchInfoEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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. 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

Lihat juga

ProductCode

Menghapus Patch