Fungsi MsiEnumComponentsExA (msi.h)
Fungsi
Windows Installer 4.5 atau yang lebih lama: Tidak didukung. Fungsi ini tersedia dimulai dengan Windows Installer 5.0.
Sintaksis
UINT MsiEnumComponentsExA(
[in, optional] LPCSTR szUserSid,
[in] DWORD dwContext,
[in] DWORD dwIndex,
[out, optional] CHAR [39] szInstalledComponentCode,
[out, optional] MSIINSTALLCONTEXT *pdwInstalledContext,
[out, optional] LPSTR szSid,
[in, out] LPDWORD pcchSid
);
Parameter
[in, optional] szUserSid
String null-terminated yang berisi pengidentifikasi keamanan (SID.) Enumerasi komponen yang diinstal meluas ke pengguna yang diidentifikasi oleh SID ini. String SID khusus s-1-1-0 (Semua Orang) menentukan enumerasi semua komponen yang diinstal di semua produk semua pengguna dalam sistem. Nilai SID selain s-1-1-0 menentukan SID pengguna untuk pengguna tertentu dan membatasi enumerasi ke instans aplikasi yang diinstal oleh pengguna yang ditentukan.
String SID khusus s-1-5-18 (Sistem) tidak dapat digunakan untuk menghitung aplikasi yang diinstal dalam konteks penginstalan per komputer. Mengatur nilai SID ke s-1-5-18 mengembalikan ERROR_INVALID_PARAMETER. Ketika
[in] dwContext
Bendera yang membatasi enumerasi komponen yang diinstal ke instans produk yang diinstal dalam konteks penginstalan yang ditentukan. Enumerasi hanya mencakup instans produk yang diinstal oleh pengguna yang ditentukan oleh szUserSid.
[in] dwIndex
Menentukan indeks komponen yang akan diambil. Parameter ini harus nol (0) untuk panggilan pertama ke fungsi
[out, optional] szInstalledComponentCode
Buffer output yang menerima GUID kode komponen untuk komponen yang diinstal. Panjang buffer harus cukup besar untuk menahan nilai string null-terminated yang berisi kode komponen. 38 karakter TCHAR
[out, optional] pdwInstalledContext
Bendera yang memberikan konteks penginstalan aplikasi yang menginstal komponen.
[out, optional] szSid
Menerima pengidentifikasi keamanan (SID) yang mengidentifikasi pengguna yang menginstal aplikasi yang memiliki komponen. Lokasi menerima string kosong jika instans aplikasi ini diinstal dalam konteks penginstalan per komputer.
Panjang buffer di lokasi ini harus cukup besar untuk menahan nilai string yang dihentikan null yang berisi SID. Jika buffer terlalu kecil, fungsi mengembalikan
Jika szSid
Jenis SID | Arti |
---|---|
|
Aplikasi ini diinstal dalam konteks penginstalan per mesin. |
|
SID untuk pengguna dalam sistem yang menginstal aplikasi. |
[in, out] pcchSid
Menerima jumlah TCHAR
Parameter ini dapat diatur ke NULL hanya jika szSid juga NULL, jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER. Jika szSid dan pcchSid keduanya diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika SID ada, tanpa mengambil nilai SID.
Mengembalikan nilai
Fungsi
Mengembalikan kode | Deskripsi |
---|---|
|
Hak istimewa administrator diperlukan untuk menghitung komponen aplikasi yang diinstal oleh pengguna selain pengguna saat ini. |
|
Data konfigurasi rusak. |
|
Parameter yang tidak valid diteruskan ke fungsi . |
|
Tidak ada lagi komponen untuk dijumlahkan. |
|
Fungsi berhasil. |
|
Buffer yang disediakan terlalu kecil untuk menahan seluruh nilai. |
|
Fungsi gagal. |
Komentar
Nota
Header msi.h mendefinisikan MsiEnumComponentsEx 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. 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 |