Fungsi MsiSourceListEnumMediaDisksA (msi.h)
Fungsi MsiSourceListEnumMediaDisks menghitung daftar disk yang terdaftar untuk sumber media untuk patch atau produk.
UINT MsiSourceListEnumMediaDisksA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] DWORD dwIndex,
[out, optional] LPDWORD pdwDiskId,
[out, optional] LPSTR szVolumeLabel,
[in, out, optional] LPDWORD pcchVolumeLabel,
[out, optional] LPSTR szDiskPrompt,
[in, out, optional] LPDWORD pcchDiskPrompt
);
[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
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
[in] dwContext
Parameter ini menentukan konteks produk atau instans patch. Parameter ini dapat berisi salah satu nilai berikut.
[in] dwOptions
Nilai
Bendera | Arti |
---|---|
|
szProductCodeOrPatchCode adalah GUID kode produk. |
|
szProductCodeOrPatchCode adalah GUID kode patch. |
[in] dwIndex
Indeks sumber yang akan diambil. Parameter ini harus 0 (nol) untuk panggilan pertama ke fungsi MsiSourceListEnumMediaDisks, lalu ditambahkan untuk panggilan berikutnya hingga fungsi mengembalikan ERROR_NO_MORE_ITEMS.
[out, optional] pdwDiskId
Pada entri ke
[out, optional] szVolumeLabel
Buffer output yang menerima label volume disk yang sedang dijumlahkan. Buffer ini harus cukup besar untuk berisi informasi. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *
Jika szVolumeLabel dan pcchVolumeLabel keduanya diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.
[in, out, optional] pcchVolumeLabel
Pointer ke variabel yang menentukan jumlah
Parameter ini dapat diatur ke null hanya jika szVolumeLabel juga NULL, jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.
[out, optional] szDiskPrompt
Buffer output yang menerima prompt disk disk yang sedang dijumlahkan. Buffer ini harus cukup besar untuk berisi informasi. Jika buffer terlalu kecil, fungsi mengembalikan ERROR_MORE_DATA dan mengatur *pcchDiskPrompt ke jumlah TCHAR dalam nilai, tidak termasuk karakter NULL yang mengakhiri.
Jika szDiskPrompt
Jika szDiskPrompt dan pcchDiskPrompt keduanya diatur ke NULL, fungsi mengembalikan ERROR_SUCCESS jika nilai ada, tanpa mengambil nilai.
[in, out, optional] pcchDiskPrompt
Penunjuk ke variabel yang menentukan jumlah
Parameter ini dapat diatur ke null hanya jika szDiskPrompt juga NULL, jika tidak, fungsi mengembalikan ERROR_INVALID_PARAMETER.
Fungsi
Nilai | Arti |
---|---|
|
Pengguna tidak memiliki kemampuan untuk membaca sumber media yang ditentukan atau produk atau patch yang ditentukan. Ini tidak menunjukkan apakah sumber media, produk, atau patch ditemukan. |
|
Data konfigurasi rusak. |
|
Parameter yang tidak valid diteruskan ke fungsi . |
|
Tidak ada lagi disk yang terdaftar untuk produk atau patch ini. |
|
Nilai berhasil dijumlahkan. |
|
Patch tidak ditemukan. |
|
Produk tidak ditemukan. |
|
Buffer yang disediakan terlalu kecil untuk berisi informasi yang diminta. |
|
Kegagalan internal yang tidak terduga. |
Saat melakukan beberapa panggilan ke MsiSourceListEnumMediaDisks 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 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 mesin.
Catatan
Header msi.h mendefinisikan MsiSourceListEnumMediaDisks 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.
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 |
Konteks Penginstalan
Tidak Didukung di Windows Installer 2.0 dan yang lebih lama
ProductCode