Fungsi MsiSetExternalUIRecord (msi.h)

Fungsi MsiSetExternalUIRecord memungkinkan handler antarmuka pengguna (UI) eksternal.

Sintaks

UINT MsiSetExternalUIRecord(
  [in]            INSTALLUI_HANDLER_RECORD  puiHandler,
  [in]            DWORD                     dwMessageFilter,
  [in]            LPVOID                    pvContext,
  [out, optional] PINSTALLUI_HANDLER_RECORD ppuiPrevHandler
);

Parameter

[in] puiHandler

Menentukan fungsi panggilan balik yang sesuai dengan spesifikasi INSTALLUI_HANDLER_RECORD .

Untuk menonaktifkan handler UI eksternal saat ini, panggil fungsi dengan parameter ini yang diatur ke nilai NULL .

[in] dwMessageFilter

Menentukan pesan mana yang akan ditangani menggunakan penangan pesan eksternal. Jika handler eksternal mengembalikan hasil bukan nol, maka pesan tersebut tidak dikirim ke UI, sebaliknya pesan dicatat jika pengelogan diaktifkan. Untuk informasi selengkapnya, lihat MsiEnableLog.

Nilai Makna
INSTALLLOGMODE_FILESINUSE
File yang digunakan informasi.

Ketika pesan ini diterima, Dialog FilesInUse harus ditampilkan.

INSTALLLOGMODE_FATALEXIT
Penghentian penginstalan dini.
INSTALLLOGMODE_ERROR
Pesan kesalahan dicatat.
INSTALLLOGMODE_WARNING
Pesan peringatan dicatat.
INSTALLLOGMODE_USER
Permintaan pengguna dicatat.
INSTALLLOGMODE_INFO
Pesan status yang tidak ditampilkan dicatat.
INSTALLLOGMODE_RESOLVESOURCE
Permintaan untuk menentukan lokasi sumber yang valid.
INSTALLLOGMODE_RMFILESINUSE
File yang digunakan informasi. Ketika pesan ini diterima, Dialog MsiRMFilesInUse harus ditampilkan.
INSTALLLOGMODE_OUTOFDISKSPACE
Ruang disk tidak cukup.
INSTALLLOGMODE_ACTIONSTART
Awal tindakan penginstalan baru dicatat.
INSTALLLOGMODE_ACTIONDATA
Rekaman data dengan tindakan penginstalan dicatat.
INSTALLLOGMODE_COMMONDATA
Parameter untuk inisialisasi antarmuka pengguna dicatat.
INSTALLLOGMODE_PROGRESS
Informasi bilah Kemajuan .

Pesan ini mencakup informasi tentang unit sejauh ini dan jumlah total unit. Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat. Untuk informasi selengkapnya, lihat MsiProcessMessage.

INSTALLLOGMODE_INITIALIZE
Jika ini bukan penginstalan yang tenang, maka UI dasar diinisialisasi.

Jika ini adalah penginstalan UI penuh, UI Lengkap belum diinisialisasi.

Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.

INSTALLLOGMODE_TERMINATE
Jika UI lengkap sedang digunakan, UI lengkap telah berakhir.

Jika ini bukan penginstalan yang tenang, UI dasar belum berakhir.

Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.

INSTALLLOGMODE_SHOWDIALOG
Dikirim sebelum menampilkan dialog Full UI.

Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.

INSTALLLOGMODE_INSTALLSTART
Penginstalan produk dimulai.

Pesan berisi ProductName dan ProductCode produk.

INSTALLLOGMODE_INSTALLEND
Penginstalan produk berakhir.

Pesan berisi ProductName, ProductCode, dan nilai pengembalian produk.

[in] pvContext

Penunjuk ke konteks aplikasi yang diteruskan ke fungsi panggilan balik.

Parameter ini dapat digunakan untuk pemeriksaan kesalahan.

[out, optional] ppuiPrevHandler

Mengembalikan penunjuk ke fungsi panggilan balik yang ditetapkan sebelumnya yang sesuai dengan spesifikasi INSTALLUI_HANDLER_RECORD , atau NULL jika sebelumnya tidak ada panggilan balik yang ditetapkan.

Nilai kembali

Menampilkan kode Deskripsi
ERROR_SUCCESS
Fungsi berhasil diselesaikan.
ERROR_CALL_NOT_IMPLEMENTED
Nilai ini menunjukkan bahwa upaya dilakukan untuk memanggil fungsi ini dari tindakan kustom.

Fungsi ini tidak dapat dipanggil dari tindakan kustom.

Keterangan

Fungsi ini tidak dapat dipanggil dari Tindakan Kustom.

Handler UI eksternal yang diaktifkan dengan memanggil MsiSetExternalUIRecord menerima pesan dalam format Objek Rekaman. Handler UI eksternal yang diaktifkan dengan memanggil MsiSetExternalUI menerima pesan dalam format string. UI eksternal selalu dipanggil sebelum UI internal Pemasang Windows. UI eksternal berbasis rekaman yang diaktifkan dipanggil sebelum UI eksternal berbasis string apa pun. Jika handler UI eksternal berbasis rekaman mengembalikan 0 (nol), pesan dikirim ke handler UI eksternal berbasis string yang diaktifkan. Jika handler UI eksternal mengembalikan nilai bukan nol, handler UI Pemasang Windows internal ditekan dan pesan dianggap ditangani.

Fungsi ini menyimpan antarmuka pengguna eksternal yang telah ditetapkannya. Untuk mengganti handler UI eksternal saat ini dengan handler sebelumnya, panggil fungsi dan tentukan INSTALLUI_HANDLER_RECORD sebagai parameter puiHandler dan 0 (nol) sebagai parameter dwMessageFilter .

Handler antarmuka pengguna eksternal yang diarahkan oleh parameter puiHandler tidak memiliki kontrol penuh atas antarmuka pengguna eksternal kecuali MsiSetInternalUI dipanggil dengan parameter dwUILevel diatur ke INSTALLUILEVEL_NONE. Jika MsiSetInternalUI tidak dipanggil, tingkat antarmuka pengguna internal default ke INSTALLUILEVEL_BASIC. Akibatnya, pesan apa pun yang tidak ditangani oleh handler antarmuka pengguna eksternal ditangani oleh Pemasang Windows. Awal "Bersiap untuk menginstal. . ." dialog selalu muncul bahkan jika handler antarmuka pengguna eksternal menangani semua pesan. MsiSetExternalUI hanya boleh dipanggil dari aplikasi Bootstrapping . Anda tidak dapat memanggil MsiSetExternalUI dari tindakan kustom.

Untuk menonaktifkan handler UI eksternal ini, panggil MsiSetExternalUIRecord dengan nilai NULL untuk parameter puiHandler .

Windows Installer 2.0 dan Windows Installer 3.0: Tidak didukung. Fungsi MsiSetExternalUIRecord tersedia dimulai dengan Windows Installer 3.1.

Untuk informasi selengkapnya tentang menggunakan handler eksternal berbasis rekaman, lihat Memantau Penginstalan Menggunakan MsiSetExternalUIRecord.

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

Fungsi Antarmuka dan Pengelogan

Tidak Didukung di Windows Installer 3.0 dan yang lebih lama