Fungsi MsiSourceListGetInfoA (msi.h)

Fungsi MsiSourceListGetInfo mengambil informasi tentang daftar sumber untuk produk atau patch dalam konteks tertentu.

Sintaks

UINT MsiSourceListGetInfoA(
  [in]                LPCSTR            szProductCodeOrPatchCode,
  [in, optional]      LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                DWORD             dwOptions,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parameter

[in] szProductCodeOrPatchCode

ProductCode atau patch GUID produk atau patch. Gunakan string yang dihentikan null. Jika string lebih panjang dari 39 karakter, fungsi gagal dan mengembalikan ERROR_INVALID_PARAMETER. Parameter ini tidak boleh NULL.

[in, optional] szUserSid

Parameter ini dapat menjadi pengidentifikasi keamanan string (SID) yang menentukan akun pengguna yang berisi produk atau patch. SID tidak divalidasi atau diselesaikan. SID yang salah dapat mengembalikan ERROR_UNKNOWN_PRODUCT atau ERROR_UNKNOWN_PATCH. Saat mereferensikan konteks komputer, szUserSID harus NULL dan dwContext harus MSIINSTALLCONTEXT_MACHINE.

Jenis SID Makna
NULL
NULL menunjukkan pengguna yang saat ini masuk. Saat mereferensikan akun pengguna saat ini, szUserSID dapat berupa NULL dan dwContext dapat MSIINSTALLCONTEXT_USERMANAGED atau MSIINSTALLCONTEXT_USERUNMANAGED.
Pengidentifikasi keamanan pengguna
Menentukan enumerasi untuk pengguna tertentu dalam sistem. Contoh SID pengguna adalah "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Catatan String SID khusus s-1-5-18 (sistem) tidak dapat digunakan untuk menghitung produk atau patch yang dipasang sebagai per mesin. Mengatur nilai SID ke s-1-5-18 mengembalikan ERROR_INVALID_PARAMETER.
 
Catatan String SID khusus s-1-1-0 (semua orang) tidak boleh digunakan. Mengatur nilai SID ke s-1-1-0 gagal dan mengembalikan ERROR_INVALID_PARAM.
 

[in] dwContext

Parameter ini menentukan konteks produk atau instans patch. Parameter ini dapat berisi salah satu nilai berikut.

Jenis konteks Makna
MSIINSTALLCONTEXT_USERMANAGED
Instans produk atau patch ada dalam konteks yang dikelola per pengguna.
MSIINSTALLCONTEXT_USERUNMANAGED
Instans produk atau patch ada dalam konteks per pengguna yang tidak dikelola.
MSIINSTALLCONTEXT_MACHINE
Produk atau instans patch ada dalam konteks per komputer.

[in] dwOptions

Nilai dwOptions menentukan arti szProductCodeOrPatchCode.

Bendera Makna
MSICODE_PRODUCT
szProductCodeOrPatchCode adalah GUID kode produk.
MSICODE_PATCH
szProductCodeOrPatchCode adalah GUID kode patch.

[in] szProperty

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

Nama Makna
INSTALLPROPERTY_MEDIAPACKAGEPATH
"MediaPackagePath"
Jalur relatif terhadap akar media penginstalan.
INSTALLPROPERTY_DISKPROMPT
"DiskPrompt"
Templat perintah yang digunakan saat meminta media penginstalan kepada pengguna.
INSTALLPROPERTY_LASTUSEDSOURCE
"LastUsedSource"
Lokasi sumber yang terakhir digunakan untuk produk.
INSTALLPROPERTY_LASTUSEDTYPE
"LastUsedType"
"n" jika sumber yang terakhir digunakan adalah lokasi jaringan. "u" jika sumber yang terakhir digunakan adalah lokasi URL. "m" jika sumber yang terakhir digunakan adalah media. String kosong ("") jika tidak ada sumber terakhir yang digunakan.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nama paket Pemasang Windows atau paket patch pada sumbernya.

[out, optional] szValue

Buffer output yang menerima informasi. 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, tidak termasuk karakter NULL yang mengakhiri.

Jika szValue 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 szValue cukup besar untuk berisi *pcchValue + 1 karakter.

Jika szValue dan pcchValue diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.

[in, out, optional] pcchValue

Penunjuk ke variabel yang menentukan jumlah TCHAR dalam buffer szValue . 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 szValue juga NULL, jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.

Mengembalikan nilai

Fungsi MsiSourceListGetInfo mengembalikan nilai berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Pengguna tidak memiliki kemampuan untuk membaca daftar sumber yang ditentukan. Ini tidak menunjukkan apakah produk atau patch ditemukan.
ERROR_BAD_CONFIGURATION
Data konfigurasi rusak.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi.
ERROR_MORE_DATA
Buffer yang disediakan tidak cukup untuk memuat data yang diminta.
ERROR_SUCCESS
Properti berhasil diambil.
ERROR_UNKNOWN_PATCH
Patch tidak ditemukan.
ERROR_UNKNOWN_PRODUCT
Produk tidak ditemukan.
ERROR_UNKNOWN_PROPERTY
Properti sumber tidak ditemukan.
ERROR_FUNCTION_FAILED
Kegagalan internal yang tidak terduga.

Keterangan

Administrator dapat memodifikasi penginstalan produk atau instans patch yang ada di bawah konteks komputer atau di bawah konteks per pengguna mereka sendiri (terkelola atau tidak terkelola.) Mereka dapat memodifikasi penginstalan produk atau instans patch yang ada di bawah konteks per pengguna yang dikelola pengguna mana pun. Administrator tidak dapat mengubah penginstalan produk atau instans patch pengguna lain yang ada di bawah konteks per pengguna lain yang tidak dikelola.

Non-administrator tidak dapat mengubah penginstalan instans produk atau patch yang ada di bawah konteks per pengguna pengguna lain (terkelola atau tidak terkelola.) Mereka dapat memodifikasi penginstalan produk atau instans patch yang ada di bawah konteks per pengguna mereka sendiri yang tidak dikelola. Mereka dapat memodifikasi penginstalan produk atau instans patch di bawah konteks mesin atau konteks yang dikelola per pengguna mereka sendiri hanya jika mereka diaktifkan untuk menelusuri produk atau sumber patch. Pengguna dapat diaktifkan untuk menelusuri sumber dengan mengatur kebijakan. Untuk informasi selengkapnya, lihat Kebijakan DisableBrowse, AllowLockdownBrowse, dan AlwaysInstallElevated .

Catatan

Header msi.h mendefinisikan MsiSourceListGetInfo 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

   
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. Windows Installer 3.0 atau yang lebih baru 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.
Target Platform Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

MsiSourceListSetInfo

Tidak Didukung di Windows Installer 2.0 dan yang lebih lama

ProductCode