MsiDatabaseApplyTransformA 函式 (msiquery.h)
MsiDatabaseApplyTransform 函式會將轉換套用至資料庫。
語法
UINT MsiDatabaseApplyTransformA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szTransformFile,
[in] int iErrorConditions
);
參數
[in] hDatabase
從 MsiOpenDatabase 取得至轉換的資料庫句柄。
[in] szTransformFile
指定要套用的轉換檔名。
[in] iErrorConditions
應隱藏的錯誤狀況。 此參數是可包含下列位的位欄位。
錯誤狀況 | 意義 |
---|---|
|
加入已經存在的數據列。 |
|
刪除不存在的數據列。 |
|
加入已經存在的數據表。 |
|
刪除不存在的數據表。 |
|
更新不存在的數據列。 |
|
轉換和資料庫代碼頁不相符,而且兩者都沒有中性代碼頁。 |
|
建立暫 存_TransformView數據表。 |
傳回值
MsiDatabaseApplyTransform 函式會傳回下列其中一個值:
備註
MsiDatabaseApplyTransform 函式會延遲轉換數據表,直到需要為止。 要加入或卸除的任何數據表都會立即處理。 不過,現有數據表的變更會延遲到載入數據表或認可資料庫為止。
如果在數據表已載入並儲存至記憶體時呼叫 MsiDatabaseApplyTransform ,就會發生錯誤。
因為轉換的清單分隔符、來源和修補程式是分號,所以不應該將此字元用於檔名或路徑。
無法從自定義動作呼叫此函式。 從自定義動作呼叫此函式會導致函式失敗。
如果函式失敗,您可以使用 MsiGetLastErrorRecord 來取得擴充的錯誤資訊。
注意
msiquery.h 標頭會將 MsiDatabaseApplyTransform 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 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 |
目標平台 | Windows |
標頭 | msiquery.h |
程式庫 | Msi.lib |
Dll | Msi.dll |