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。 |
傳回值
這個方法可以傳回下列其中一個值。
值 | 意義 |
---|---|
|
ErrorType 為 Null。 |
|
此函數已成功。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Mergemod.dll 2.0 或更新版本 |
目標平台 | Windows |
標頭 | mergemod.h |
Dll | Mergemod.dll |