共用方式為


JetCloseFileInstance 函式

適用于: Windows |Windows Server

JetCloseFileInstance 函式

JetCloseFileInstance函式會在使用JetReadFileInstance擷取該檔案的資料之後,關閉使用JetOpenFileInstance開啟的檔案。

Windows XP:JetCloseFileInstance 是在 Windows XP 中引進。

    JET_ERR JET_API JetCloseFileInstance(
      __in          JET_INSTANCE instance,
      __in          JET_HANDLE hfFile
    );

參數

instance

要用於這個呼叫的 實例。

若為 Windows 2000,因為只支援一個實例,所以無法使用接受此參數的 API 變體。 在此情況下,會隱含使用此一個全域實例。

針對 Windows XP 和更新版本,只有在引擎處於舊版模式 (Windows 2000 相容性模式時,才能呼叫不接受此參數的 API 變體,) 其中僅支援一個實例。 否則,作業將會失敗,並JET_errRunningInMultiInstanceMode。

hfFile

要讀取之檔案的控制碼。

傳回值

此函式會傳回具有下列其中一個傳回碼 的JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸的儲存引擎錯誤錯誤處理參數

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errClientRequestToStopJetService

因為與會話相關聯的實例上的所有活動因為對 JetStopServiceInstance的呼叫而停止,所以無法完成作業。

JET_errInstanceUnavailable

無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,要求撤銷所有資料的存取權以保護該資料的完整性。

此錯誤只會由 Windows XP 和更新版本傳回。

JET_errInvalidParameter

提供的其中一個參數包含非預期值,或數個參數值的組合會產生非預期的結果。 當下列情況發生于 JetCloseFileInstance 時,可能會發生這種情況:

  • 指定的實例控制碼無效, (Windows XP 和更新版本)

  • 指定的檔案控制碼無效

JET_errNoBackup

作業失敗,因為沒有任何外部備份正在進行中。

JET_errNotInitialized

無法完成作業,因為與會話相關聯的實例尚未初始化。

JET_errRestoreInProgress

因為與會話相關聯的實例上正在進行還原作業,所以無法完成作業。

JET_errRunningInMultiInstanceMode

作業失敗,因為嘗試在舊版模式中使用引擎, (Windows 2000 相容性模式) 實際上只有一個實例存在時才支援。

JET_errTermInProgress

因為與會話相關聯的實例正在關閉,所以無法完成作業。

成功時,檔案控制碼會關閉。 如果資料庫檔案已關閉,則當任何) 損毀時,相關聯的資料庫修補檔 (。

失敗時,不會發生任何變更。

備註

資料庫引擎目前一次只支援一個透過 JetOpenFileInstance 開啟的檔案。 如果使用 JetOpenFileInstance 開啟檔案控制代碼,則必須使用 JetCloseFileInstance 關閉檔案,才能開啟另一個檔案。

規格需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

另請參閱

JET_ERR
JET_HANDLE
JET_INSTANCE
JetOpenFileInstance
JetReadFileInstance
JetStopServiceInstance