INSTALLUI_HANDLER_RECORD函数原型定义安装程序为进度通知和错误消息调用的回调函数。 调用 MsiSetExternalUIRecord 函数以启用基于记录的外部用户界面 (UI) 处理程序。
Windows Installer 3.0 和 Windows Installer 2.0: 不支持。 从 Windows Installer 版本 3.1 及更高版本开始可用。
语法
INSTALLUI_HANDLER_RECORD InstalluiHandlerRecord;
int InstalluiHandlerRecord(
LPVOID pvContext,
UINT iMessageType,
MSIHANDLE hRecord
)
{...}
参数
pvContext
指向传递给 MsiSetExternalUIRecord 函数的应用程序上下文的指针。 此参数可用于错误检查。
iMessageType
指定一个消息框样式、一个消息框图标类型、一个默认按钮和一个安装消息类型的组合。 此参数必须是下列参数之一。
| 消息框 IconTypesFlag | 含义 |
|---|---|
|
消息框中将显示一个感叹号。 |
|
信息符号将显示在消息框中。 |
|
消息框中将显示一个问号。 |
|
消息框中将显示一个停止标志。 |
| 默认 ButtonsFlag | 含义 |
|---|---|
|
第一个按钮是默认按钮。 |
|
第二个按钮是默认按钮。 |
|
第三个按钮是默认按钮。 |
| 安装消息 TypesFlag | 含义 |
|---|---|
|
过早终止 |
|
格式化错误消息 |
|
带格式的警告消息 |
|
用户请求消息。 |
|
日志信息性消息 |
|
当前正在使用的文件列表,在被替换之前必须关闭 |
|
请求确定有效的源位置 |
|
当前正在使用的文件列表,在被替换之前必须关闭。 从 Windows Installer 版本 4.0 开始提供。 有关此消息的详细信息,请参阅将重新启动管理器与外部 UI 配合使用。 |
|
磁盘空间不足消息 |
|
开始操作消息。 此消息包括操作名称和说明。 |
|
与单个操作项关联的格式化数据。 |
|
进度仪表信息。 此消息包括到目前为止的单位数和总单位数的信息。 |
|
用户界面的格式化对话框信息。 |
|
在 UI 初始化之前发送,无字符串数据 |
|
UI 终止后发送,无字符串数据 |
|
在显示创作的对话框或向导之前发送 |
|
在安装产品之前发送。 |
|
在安装产品后发送。 |
如果缺少上述任何消息,应使用以下默认值:MB_OK、无图标和MB_DEFBUTTON1。 没有默认的安装消息类型;始终指定消息类型。
hRecord
指定记录对象的句柄。 有关记录对象的信息,请参阅 记录处理函数。
返回值
以下返回值映射到消息框样式指定的按钮:
IDOK
注解
如果知道调用方感兴趣的错误或消息类型,并且想要避免分析发送到INSTALLUI_HANDLER类型的外部 UI 处理程序的字符串消息,但从 hRecord 字段检索相关数据,则应使用这种类型的外部 UI 处理程序。
有关从外部用户界面处理程序返回值的详细信息,请参阅 从外部用户界面处理程序返回值 主题。 发送到基于记录的外部 UI 处理程序的 hRecord 对象由 Windows Installer 拥有,并且仅在回调的生存期内有效。 回调应从记录中提取所需的任何数据,并且不应关闭该句柄。
Windows Installer 将忽略基于记录的外部 UI 处理程序更改 hRecord 对象中的数据的任何尝试。
若要详细了解如何使用基于记录的外部处理程序,请参阅使用 MsiSetExternalUIRecord 监视安装。
要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | 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 3.1。 |
| 目标平台 | Windows |
| 标头 | msi.h |