MsiSetExternalUIA 函式 (msi.h)
MsiSetExternalUI 函式會啟用外部使用者介面處理程式。 這個外部 UI 處理程式會在一般內部使用者介面處理程式之前呼叫。 外部 UI 處理程式可以選擇傳回非零值來隱藏內部 UI,以指出它已處理訊息。 如需詳細資訊,請參閱 關於使用者介面。
語法
INSTALLUI_HANDLERA MsiSetExternalUIA(
[in] INSTALLUI_HANDLERA puiHandler,
[in] DWORD dwMessageFilter,
[in] LPVOID pvContext
);
參數
[in] puiHandler
指定符合 INSTALLUI_HANDLER 規格的回呼函式。
[in] dwMessageFilter
指定要使用外部訊息處理程序處理哪些訊息。 如果外部處理程式傳回非零的結果,則該訊息將不會傳送至UI,而是會在啟用記錄時記錄訊息。 如需詳細資訊,請參閱 MsiEnableLog 函式。
價值 | 意義 |
---|---|
|
使用資訊中的檔案。 收到此訊息時,應該會顯示 FilesInUse Dialog。 |
|
安裝過早終止。 |
|
系統會記錄錯誤訊息。 |
|
系統會記錄警告訊息。 |
|
系統會記錄使用者要求。 |
|
不會顯示的狀態消息會記錄。 |
|
要求以判斷有效的來源位置。 |
|
使用資訊中的檔案。 收到此訊息時,應該會顯示 MsiRMFilesInUse 對話框。 |
|
磁碟空間不足。 |
|
系統會記錄新安裝動作的開始。 |
|
記錄具有安裝動作的數據記錄。 |
|
會記錄使用者介面初始化的參數。 |
|
進度列 資訊。 此訊息包含到目前為止單位和單位總數的相關信息。 如需訊息格式的說明,請參閱 MsiProcessMessage 函式。 此訊息只會傳送至外部使用者介面,而且不會記錄。 |
|
如果這不是無訊息安裝,則 基本UI 已初始化。 如果這是 完整UI 安裝,則尚未初始化 完整的UI。 此訊息只會傳送至外部使用者介面,而且不會記錄。 |
|
如果使用 完整 UI,則 完整 UI 已結束。 如果這不是無訊息安裝,則 基本 UI 尚未結束。 此訊息只會傳送至外部使用者介面,而且不會記錄。 |
|
在顯示 [完整UI] 對話框之前傳送。 此訊息只會傳送至外部使用者介面,而且不會記錄。 |
|
產品安裝開始。
訊息包含產品的 ProductName 和 ProductCode。 |
|
產品安裝結束。
訊息包含產品的 ProductName、ProductCode 和傳回值。 |
[in] pvContext
傳遞至回呼函式之應用程式內容的指標。 此參數可用於錯誤檢查。
傳回值
傳回值是先前設定的外部處理程式,如果沒有先前設定的處理程式,則為零 (0)。
言論
若要還原先前的UI處理程式,第二次呼叫會使用第一次呼叫
puiHandler 參數指向的外部使用者介面處理程式無法完全控制外部使用者介面,除非呼叫 MsiSetInternalUI,dwUILevel 參數設定為 INSTALLUILEVEL_NONE。 如果未呼叫 MsiSetInternalUI,內部使用者介面層級預設為INSTALLUILEVEL_BASIC。 因此,Windows Installer 會處理外部使用者介面處理程式未處理的任何訊息。 初始「準備安裝」。 . 即使外部使用者介面處理程序處理所有訊息,也一律會出現對話方塊。
MsiSetExternalUI 只能從 啟動載入 應用程式呼叫。 您無法從自定義動作呼叫 MsiSetExternalUI。
注意
msi.h 標頭會根據 UNICODE 預處理器常數的定義,將 MsiSetExternalUI 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer。 如需 Windows Installer 版本所需的最低 Windows Service Pack 相關信息,請參閱 Windows Installer Run-Time 需求。 |
目標平臺 | 窗戶 |
標頭 | msi.h |
連結庫 | Msi.lib |
DLL | Msi.dll |