Bagikan melalui


Fungsi MsiSourceListGetInfoW (msi.h)

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

Sintaksis

UINT MsiSourceListGetInfoW(
  [in]                LPCWSTR           szProductCodeOrPatchCode,
  [in, optional]      LPCWSTR           szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                DWORD             dwOptions,
  [in]                LPCWSTR           szProperty,
  [out, optional]     LPWSTR            szValue,
  [in, out, optional] LPDWORD           pcchValue
);

Parameter

[in] szProductCodeOrPatchCode

ProductCode atau GUID patch produk atau patch. Gunakan string null-terminated. Jika string lebih panjang dari 39 karakter, fungsi gagal dan mengembalikan ERROR_INVALID_PARAMETER. Parameter ini tidak dapat 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 Arti
NULL
NULL menunjukkan pengguna yang saat ini masuk. Saat mereferensikan akun pengguna saat ini, szUserSID dapat NULL dan dwContext dapat MSIINSTALLCONTEXT_USERMANAGED atau MSIINSTALLCONTEXT_USERUNMANAGED.
SID 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 diinstal 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 Arti
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
Instans produk atau patch ada dalam konteks per komputer.

[in] dwOptions

Nilai dwOptions menentukan arti szProductCodeOrPatchCode.

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

[in] szProperty

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

Nama Arti
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 terakhir yang digunakan adalah lokasi URL. "M" jika sumber terakhir yang digunakan adalah media. String kosong ("") jika tidak ada sumber yang terakhir digunakan.
INSTALLPROPERTY_PACKAGENAME
"PackageName"
Nama paket Penginstal Windows atau paket patch pada sumbernya.

[out, optional] szValue

Buffer output yang menerima informasi. 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, 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 szValue buffer yang cukup besar untuk berisi *pcchValue + 1 karakter.

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

[in, out, optional] pcchValue

Penunjuk ke variabel yang menentukan jumlah TCHAR di 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 Arti
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.

Komentar

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 dikelola.) 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 pengguna.

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

Nota

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

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 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.
Platform Target 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