msiSetExternalUIW 函数 (msi.h)
MsiSetExternalUI 函数启用外部用户界面处理程序。 在正常内部用户界面处理程序之前调用此外部 UI 处理程序。 外部 UI 处理程序可以选择通过返回非零值来取消内部 UI,以指示它已处理消息。 有关详细信息,请参阅关于用户界面。
语法
INSTALLUI_HANDLERW MsiSetExternalUIW(
[in] INSTALLUI_HANDLERW puiHandler,
[in] DWORD dwMessageFilter,
[in] LPVOID pvContext
);
参数
[in] puiHandler
指定符合 INSTALLUI_HANDLER规范的 回调函数。
[in] dwMessageFilter
指定要使用外部消息处理程序处理的消息。 如果外部处理程序返回非零结果,则不会将消息发送到 UI,而是在启用了日志记录的情况下记录该消息。 有关详细信息,请参阅 MsiEnableLog 函数。
值 | 含义 |
---|---|
|
正在使用的文件信息。 收到此消息时,应显示 FilesInUse 对话框 。 |
|
提前终止安装。 |
|
将记录错误消息。 |
|
记录警告消息。 |
|
记录用户请求。 |
|
记录未显示的状态消息。 |
|
请求确定有效的源位置。 |
|
正在使用的文件信息。 收到此消息时,应显示 MsiRMFilesInUse 对话框 。 |
|
磁盘空间不足。 |
|
记录新安装操作的开始。 |
|
记录安装操作的数据记录。 |
|
记录用户界面初始化的参数。 |
|
进度栏 信息。 此消息包括到目前为止的单位数和总单位数的信息。 有关消息格式的说明,请参阅 MsiProcessMessage 函数。 此消息仅发送到外部用户界面,不会记录。 |
|
如果这不是静默安装,则 基本 UI 已初始化。 如果这是 完整的 UI 安装,则尚未初始化 完整的 UI 。 此消息仅发送到外部用户界面,不会记录。 |
|
如果使用 完整 UI ,则 完整 UI 已结束。 如果这不是静默安装,则 基本 UI 尚未结束。 此消息仅发送到外部用户界面,不会记录。 |
|
在显示 完整 UI 对话框之前发送。 此消息仅发送到外部用户界面,不会记录。 |
|
产品安装开始。
该消息包含产品的 ProductName 和 ProductCode。 |
|
产品安装结束。
该消息包含产品的 ProductName、ProductCode 和返回值。 |
[in] pvContext
指向传递给回调函数的应用程序上下文的指针。 此参数可用于错误检查。
返回值
返回值为以前设置的外部处理程序;如果没有以前设置的处理程序,则返回值为零 (0) 。
注解
若要还原以前的 UI 处理程序,将使用第一次调用 MsiSetExternalUI 返回 的INSTALLUI_HANDLER 对 MsiSetExternalUI 进行第二次调用,并为 dwMessageFilter 指定零 (0) 。
puiHandler 参数指向的外部用户界面处理程序不能完全控制外部用户界面,除非调用 MsiSetInternalUI 并将 dwUILevel 参数设置为 INSTALLUILEVEL_NONE。 如果未调用 MsiSetInternalUI ,则内部用户界面级别默认为 INSTALLUILEVEL_BASIC。 因此,外部用户界面处理程序未处理的任何消息都由 Windows Installer 处理。 初始“准备安装”。 . 即使外部用户界面处理程序处理所有消息,也始终显示 .“对话框。
仅应从引导应用程序调用 MsiSetExternalUI。 不能从自定义操作调用 MsiSetExternalUI 。
注意
msi.h 标头将 MsiSetExternalUI 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 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 运行时要求。 |
目标平台 | Windows |
标头 | msi.h |
Library | Msi.lib |
DLL | Msi.dll |