MsiDatabaseOpenViewA 函式 (msiquery.h)
MsiDatabaseOpenView 函式會準備資料庫查詢並建立檢視物件。 此函式會傳回應該使用 MsiCloseHandle關閉的句柄。
語法
UINT MsiDatabaseOpenViewA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szQuery,
[out] MSIHANDLE *phView
);
參數
[in] hDatabase
要開啟檢視對象的資料庫句柄。 您可以依照取得資料庫句柄中的
[in] szQuery
指定用於查詢資料庫的 SQL 查詢字串。 如需正確的語法,請參閱 SQL 語法。
[out] phView
傳回檢視句柄的指標。
傳回值
MsiDatabaseOpenView 函式會傳回下列其中一個值:
如果成功,ERROR_SUCCESS,而且已設定 phView [out] 參數所指向的檢視句柄。
如果失敗,ERROR_INVALID_HANDLE、ERROR_INVALID_HANDLE_STATE、ERROR_BAD_QUERY_SYNTAX或ERROR_GEN_FAILURE,並設定錯誤記錄,可透過 MsiGetLastErrorRecord 存取。
言論
MsiDatabaseOpenView 函式會開啟資料庫的檢視物件。 您必須先開啟資料庫的檢視物件,才能執行任何執行或擷取。
如果發生錯誤,您可以呼叫 MsiGetLastErrorRecord 以取得詳細資訊。
請注意,建議使用 PMSIHANDLE 類型的變數,因為安裝程式會在 PMSIHANDLE 物件超出範圍時關閉 PMSIHANDLE 物件,而您必須呼叫 MsiCloseHandle來關閉 MSIHANDLE 物件。 如需詳細資訊,請參閱 Windows Installer 最佳做法中的 使用 PMSIHANDLE 而非 HANDLE 一節。
如果函式失敗,您可以使用 MsiGetLastErrorRecord取得擴充錯誤資訊。
注意
msiquery.h 標頭會將 MsiDatabaseOpenView 定義為別名,根據 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 |
目標平臺 | 窗戶 |
標頭 | msiquery.h |
連結庫 | Msi.lib |
DLL | Msi.dll |