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