ModuleConfiguration 數據表
ModuleConfiguration 數據表會識別模組的可設定屬性。 此資料表不會合併至資料庫。
ModuleConfiguration 數據表具有下列數據行。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
名字 | 識別碼 | Y | N |
格式 | 整數 | N | N |
類型 | 文字 | N | Y |
ContextData | 文字 | N | Y |
DefaultValue | 文字 | N | Y |
屬性 | 整數 | N | Y |
DisplayName | 文字 | N | Y |
描述 | 文字 | N | Y |
HelpLocation | 文字 | N | Y |
HelpKeyword | 文字 | N | Y |
列
-
名稱
-
此欄位會定義可設定項目的名稱。 此名稱會在 ModuleSubstitution 資料表的 [值] 資料行中參考此名稱,。
-
格式
-
此資料列會指定正在變更的數據格式。
格式 價值 文字 0 金鑰 1 整數 2 Bitfield 格式 3 -
類型
-
此數據行會指定要變更之數據的型別。 此類型可用來提供任何使用者介面的內容,而且不會用於合併程式。 此數據行的有效值取決於 Format 資料行中的值。
-
ContextData
-
此數據行會指定所要求數據的語意內容。 此類型可用來提供任何使用者介面的內容,而且不會在合併程式中使用。 此數據行的有效值取決於 Format 和 Type 資料行中的值。
-
DefaultValue
-
如果合併工具拒絕提供值,此資料行會指定此記錄中項目的預設值。 此值必須具有專案的格式、類型和內容。 如果這是「金鑰」格式專案,則外鍵必須是模組數據表的有效索引鍵。 Null 可能是此資料行的有效值,視專案而定。 對於「索引鍵」格式專案,此值會以 CMSM 特殊格式 。 若為所有其他類型,則會以常值方式處理值。
模組作者必須確保模組在其默認狀態中有效。 這可確保 2.0 版之前的 Mergemod.dll 版本仍然可以使用模組的默認狀態。
-
屬性
-
此數據行是位欄位元,其中包含這個可設定項目的屬性。 Null 相當於 0。 此數據行中的所有其他位都會保留供日後使用,且必須為 0。
名字 十進位 十六進位 描述 msmConfigurableOptionKeyNoOrphan 1 0x00000001 此屬性僅適用於在 DefaultValue 欄位中列出模組資料表外鍵的記錄。 合併工具會忽略 索引鍵格式類型以外的任何格式的屬性。 ModuleSubstitution 數據表中未列出的專案, 會從下列檢查中排除。 如果完成所有組態選項之後符合下列條件,合併工具就不會將 DefaultValue 數據行所參考的數據列合併到目標資料庫。
具有相同 DefaultValue 之 ModuleConfiguration 數據表中的每個數據列都有 msmConfigurationItemsKeyNoOrphan 集合。
沒有數據列會使用DefaultValue,因為撰寫工具拒絕提供值。
如果符合下列任何條件,合併工具就會合併數據列。
合併工具會尋找沒有 msmConfigItemsKeyNoOrphan 設定的任何數據列。
如果合併工具使用DefaultValue找到任何數據列,因為撰寫工具拒絕提供值。msmConfigurableOptionNonNullable 2 0x00000002 設定此屬性時,null 不是這個專案的有效回應。 此屬性對 整數格式類型 或 Bitfield 格式類型沒有作用。 -
DisplayName
-
此數據行提供撰寫工具可在使用者介面中使用的此項目的簡短描述。 此資料行可能未當地語系化。 將此數據行設定為 null,讓模組要求撰寫工具不會在 UI 中公開此屬性。 此工具可能會忽略此欄位中的值。
-
描述
-
此資料列提供撰寫工具可在UI元素中使用的此專案描述。 此字串可能會由模組的語言轉換進行當地語系化。 此數據行可能是 Null。
-
HelpLocation
-
此數據行提供說明檔的名稱(不含 .chm 擴展名),或以分號分隔的說明命名空間清單。 如果沒有可用的協助,此數據行可以是 Null。 只有當 HelpKeyword 數據行為 null 時,這個數據行才能為 Null。
-
HelpKeyword
-
此數據行會從 HelpLocation 資料行提供說明檔或命名空間中的關鍵詞。 此關鍵詞的解譯取決於 HelpLocation 數據行。 此數據行可能是 Null。
言論
ModuleConfiguration 數據表是由 可設定的合併模組使用。 需要 Mergemod.dll 2.0 或更新版本,才能建立可設定的合併模組。
為了確保與舊版 Mergemod.dll相容,每個模組的moduleConfiguration資料表和 ModuleSubstitution資料表 應新增至 ModuleIgnoreTable 資料表。
驗證