共用方式為


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 物件) 。 所有 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屬性會參考造成失敗的 Component 數據表 中的數據列。
msmErrorBadNullSubstitution 9 將 Null 值替代為不可為 Null 的數據行。 這會在 Type 屬性中輸入 msmErrorBadNullSubstitution,並在 ModuleTable 屬性和 ModuleKeys 屬性中輸入 “ModuleSubstitution” 和 ModuleSubstitution 數據表中的索引鍵。 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。

傳回值

這個方法可以傳回下列其中一個值。

意義
E_INVALIDARG
ErrorType 為 Null。
S_OK
此函數已成功。

規格需求

需求
最低支援的用戶端 Mergemod.dll 2.0 或更新版本
目標平台 Windows
標頭 mergemod.h
Dll Mergemod.dll

另請參閱

合併模組自動化