JetTerm 函式
適用于: Windows |Windows Server
JetTerm 函式
JetTerm函式會起始JetInit初始化的實例關機。
JetTerm 也可以用來終結 JetCreateInstance所建立的未初始化實例。
JET_ERR JET_API JetTerm(
__in JET_INSTANCE instance
);
參數
instance
指定要用於這個呼叫的實例。
Windows 2000: 此參數會被忽略,而且一律為 Null。
Windows XP 和更新版本: 這個參數已多載。 如果引擎在舊版模式中運作 (Windows 2000 相容性模式) 僅支援一個實例,則此參數可能是 Null ,或可能包含 JetInit傳回的實際實例。 如果引擎是以多重實例模式運作,則此參數必須是使用 JetCreateInstance建立之實例的指標。
傳回值
此函式會傳回具有下列其中一個傳回碼 的JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸的儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
描述 |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errInvalidParameter |
提供的其中一個參數包含非預期的值,或數個參數的組合會產生非預期的結果。 當引擎處於多重實例模式,以及釘選參考不正確實例時,JetTerm會傳回此錯誤。 Windowsxp: 此傳回值會在 Windows XP 中引進。 |
JET_errNotInitialized |
作業無法完成,因為實例尚未初始化。 |
JET_errTermInProgress |
作業無法完成,因為實例正在關閉。 |
JET_errRestoreInProgress |
因為實例上的還原作業正在進行中,所以無法完成作業。 |
JET_errBackupInProgress |
作業無法完成,因為實例上的備份作業正在進行中。 |
JET_errTooManyActiveUsers |
實例無法關閉,因為目前有具有指定實例作用中交易的會話。 只有在使用JET_bitTermComplete時,才會發生此錯誤。 |
如果此函式成功,則會關閉指定的實例。 實例控制碼也會關閉,並讓任何採用實例控制碼的 API 無法使用。 也會關閉與實例相關聯的所有其他物件,例如會話。 檢查點檔案、交易記錄檔和附加至實例的資料庫檔案狀態,將會在關機程式期間修改。
如果此函式因使用錯誤而失敗,則實例會維持初始化狀態,且不會有任何變更。 否則,實例仍會根據成功案例關閉。 差異在於實例在下一次初始化時,必須經歷當機復原。 引擎會嘗試盡可能排清資料,以將所需的復原量降到最低。 在概念上, JetTerm 的這類失敗與進程當機不同。
備註
如果在該實例上成功呼叫 JetTerm 之前,實例的主機進程會因為任何原因而結束,則實例會被視為處於損毀狀態。 下次嘗試初始化該實例時,就會發生當機復原。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
標頭 |
在 Esent.h 中宣告。 |
程式庫 |
使用 ESENT.lib。 |
Dll |
需要ESENT.dll。 |
另請參閱
可延伸儲存引擎檔案
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2