IMsmError::get_Type 方法 (mergemod.h)
get_Type 方法检索 Error 对象的 Type 属性。 此方法返回一个 msmErrorType 值,该值指示此对象表示的错误类型。
语法
HRESULT get_Type(
[out] msmErrorType *ErrorType
);
参数
[out] ErrorType
指向内存中接收错误类型的位置的指针。
msmErrorType | 值 | 说明 |
---|---|---|
msmErrorLanguageUnsupported | 1 | 发出了一个请求,要求使用模块不支持的语言打开模块。 模块不支持其他常规语言。 将 msmErrorLanguageUnsupported 添加到 Type 属性,将请求的语言添加到 Language 属性 (Error Object) 。 所有 Error 对象属性均为空。 OpenModule 函数以 HRESULT) 的形式返回ERROR_INSTALL_LANGUAGE_UNSUPPORTED (。 |
msmErrorLanguageFailed | 2 | 请求使用支持的语言打开模块,但该模块的语言转换无效。 将 msmErrorLanguageFailed 添加到 Type 属性,并将应用转换的语言添加到 Error 对象的 Language 属性。 如果使用了更通用的语言,则可能不是请求的语言。 Error 对象的所有其他属性均为空。 OpenModule 函数以 HRESULT) 的形式返回ERROR_INSTALL_LANGUAGE_UNSUPPORTED (。 |
msmErrorExclusion | 3 | 无法合并该模块,因为它排除或被数据库中的另一个模块排除。 将 msmErrorExclusion 添加到 Error 对象的 Type 属性。 ModuleKeys 属性或 DatabaseKeys 属性包含 ModuleExclusion 表中排除的模块行的主键。 如果现有模块排除了正在合并的模块,则排除的模块的 ModuleSignature 信息将添加到 ModuleKeys。 如果要合并的模块排除现有模块,则 DatabaseKeys 将包含已排除模块的 ModuleSignature 信息。 所有其他属性为空 (或 -1) 。 |
msmErrorTableMerge | 4 | 合并期间发生合并冲突。 Type 属性的值设置为 msmErrorTableMerge。 DatabaseTable 属性和 DatabaseKeys 属性包含数据库中冲突行的表名称和主键。 ModuleTable 属性和 ModuleKeys 属性包含模块中冲突行的表名和主键。 如果数据库中不存在该行,则 ModuleTable 和 ModuleKeys 条目可能为 null。 例如,如果冲突位于生成的 FeatureComponents 表条目中。 合并 可配置的合并模块时,配置可能会导致这些属性引用模块中不存在的行。 |
msmErrorResequenceMerge | 5 | 重新对序列表进行排队以包含必要的合并操作时出现问题。 Type 属性设置为 msmErrorResequenceMerge。 DatabaseTable 和 DatabaseKeys 属性包含序列表名称和主键, (冲突行的操作名称) 。 ModuleTable 和 ModuleKeys 属性包含冲突行的序列表名称和主键 (操作名称) 。 合并可配置的合并模块时,配置可能会导致这些属性引用模块中不存在的行。 |
msmErrorFileCreate | 6 | 未使用。 |
msmErrorDirCreate | 7 | 创建目录以将文件提取到磁盘时出现问题。 Path 属性包含无法创建的目录。 所有其他属性均为空或 -1。 |
msmErrorFeatureRequired | 8 | 完成合并需要功能名称,但未提供功能名称。 Type 属性设置为 msmErrorFeatureRequired。 DatabaseTable 和 DatabaseKeys 包含冲突行的表名和主键。 ModuleTable 和 ModuleKeys 属性包含表名,行的主键不能合并。 合并可配置的合并模块时,配置可能会导致这些属性引用模块中不存在的行。 如果失败位于生成的 FeatureComponents 表中,则 DatabaseTable 和 DatabaseKeys 属性为空,ModuleTable 和 ModuleKeys 属性引用 组件表中 导致失败的行。 |
msmErrorBadNullSubstitution | 9 | 将 Null 值替换为不可为 null 的列。 这会在 Type 属性中输入 msmErrorBadNullSubstitution,并将“ModuleSubstitution”以及此行的 ModuleSubstitution 表中 的键输入到 ModuleTable 属性和 ModuleKeys 属性中。 Error 对象的所有其他属性都设置为空字符串或 -1。
此错误会导致合并立即失败, MergeEx函数 返回E_FAIL。 |
msmErrorBadSubstitutionType | 10 | 将 文本格式类型 或 整数格式类型 替换为 二进制类型 数据列。 这种类型的错误在 Type 属性中返回 msmErrorBadSubstitutionType,并将“ModuleSubstitution”和 ModuleSubstitution 表中 的键输入到 ModuleTable 属性中。 Error 对象的所有其他属性都设置为空字符串或 -1。
此错误会导致合并立即失败, MergeEx函数 返回E_FAIL。 |
msmErrorMissingConfigItem | 11 | ModuleSubstitution 表中的一行引用了 ModuleConfiguration 表中未定义的配置项目。 这种类型的错误在 Type 属性中返回 msmErrorMissingConfigItem,并将“ModuleSubstitution”和 ModuleSubstitution 表中 的键输入到 ModuleTable 属性中。 Error 对象的所有其他属性都设置为空字符串或 -1。
此错误会导致合并立即失败, MergeEx函数 返回E_FAIL。 |
msmErrorBadNullResponse | 12 | 创作工具已返回使用 msmConfigItemNonNullable 属性标记的项的 Null 值。 此类型的错误在 Type 属性中返回 msmErrorBadNullResponse,并在 ModuleTable 属性中输入“ModuleSubstitution”和 ModuleSubstitution 表中项的键。 Error 对象的所有其他属性都设置为空字符串或 -1。
此错误会导致合并立即失败, MergeEx函数 返回E_FAIL。 |
msmErrorDataRequestFailed | 13 | 当请求数据时,创作工具返回了失败代码 (未S_OK或S_FALSE) 。 此类型的错误将在 Type 属性中返回 msmErrorDataRequestFailed,并在 ModuleTable 属性中输入“ModuleSubstitution”和 ModuleSubstitution 表中该项的键。 Error 对象的所有其他属性都设置为空字符串或 -1。
此错误会导致合并立即失败, MergeEx函数 返回E_FAIL。 |
msmErrorPlatformMismatch | 14 | 指示尝试将 64 位模块合并到不是 64 位包的包中。 此类型的错误在 Type 属性中返回 msmErrorPlatformMismatch。 错误对象的所有其他属性都设置为空字符串或 -1。 此错误会导致合并立即失败,并导致 Merge 函数或 MergeEx 函数返回E_FAIL。 |
返回值
此方法可以返回其中一个值。
值 | 含义 |
---|---|
|
ErrorType 为 Null。 |
|
函数成功。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Mergemod.dll 2.0 或更高版本 |
目标平台 | Windows |
标头 | mergemod.h |
DLL | Mergemod.dll |