Fungsi MsiSourceListEnumSourcesA (msi.h)
Fungsi MsiSourceListEnumSources menghitung sumber dalam daftar sumber patch atau produk tertentu.
Sintaks
UINT MsiSourceListEnumSourcesA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[in, optional] LPSTR szSource,
[in, out, optional] LPDWORD pcchSource
);
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
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.
[in] dwContext
Konteks produk atau instans patch. Parameter ini dapat berisi salah satu nilai berikut.
[in] dwOptions
Nilai dwOptions menentukan interpretasi nilai szProductCodeOrPatchCode dan jenis sumber yang akan dihapus. Parameter ini harus merupakan kombinasi dari salah satu konstanta MSISOURCETYPE_* berikut dan salah satu konstanta MSICODE_* berikut.
[in] dwIndex
Indeks sumber yang akan diambil. Parameter ini harus 0 (nol) untuk panggilan pertama ke fungsi MsiSourceListEnumSources , lalu dinaikkan untuk panggilan berikutnya hingga fungsi mengembalikan ERROR_NO_MORE_ITEMS. Indeks harus dinaikkan hanya jika panggilan sebelumnya dikembalikan ERROR_SUCCESS.
[in, optional] szSource
Penunjuk ke buffer yang menerima jalur ke sumber yang sedang dijumlahkan. Buffer ini harus cukup besar untuk memuat nilai yang diterima. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *pcchSource ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri.
Jika szSource diatur ke NULL dan pcchSource diatur ke pointer yang valid, fungsi mengembalikan ERROR_SUCCESS dan mengatur *pcchSource ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri. Fungsi kemudian dapat dipanggil lagi untuk mengambil nilai, dengan buffer szSource cukup besar untuk berisi *pcchSource + 1 karakter.
Jika szSource dan pcchSource diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.
[in, out, optional] pcchSource
Penunjuk ke variabel yang menentukan jumlah TCHAR dalam buffer szSource . 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 szSource juga NULL, jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.
Nilai kembali
Fungsi MsiSourceListEnumSources mengembalikan nilai berikut.
Nilai | Makna |
---|---|
|
Pengguna tidak memiliki kemampuan untuk membaca daftar sumber yang ditentukan. Ini tidak menunjukkan apakah produk atau patch ditemukan. |
|
Data konfigurasi rusak. |
|
Parameter yang tidak valid diteruskan ke fungsi. |
|
Buffer yang disediakan tidak cukup untuk memuat data yang diminta. |
|
Tidak ada lagi sumber dalam daftar yang ditentukan untuk dijumlahkan. |
|
Sumber berhasil dijumlahkan. |
|
Patch yang ditentukan tidak diinstal pada komputer dalam konteks yang ditentukan. |
|
Produk yang ditentukan tidak diinstal pada komputer dalam konteks yang ditentukan. |
|
Kegagalan internal yang tidak terduga. |
Keterangan
Saat melakukan beberapa panggilan ke MsiSourceListEnumSources untuk menghitung semua sumber untuk satu instans produk, setiap panggilan harus dilakukan dari utas yang sama.
Administrator dapat menghitung penginstalan per pengguna yang tidak dikelola dan dikelola untuk diri mereka sendiri, penginstalan per mesin, dan penginstalan terkelola per pengguna untuk pengguna mana pun. Administrator tidak dapat menghitung penginstalan per pengguna yang tidak dikelola untuk pengguna lain. Non-administrator hanya dapat menghitung penginstalan per pengguna mereka sendiri yang tidak dikelola dan dikelola serta penginstalan per komputer.
Catatan
Header msi.h mendefinisikan MsiSourceListEnumSources 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. 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 Pemasang Windows. |
Target Platform | Windows |
Header | msi.h |
Pustaka | Msi.lib |
DLL | Msi.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk