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 時,可能會發生這種情況:
|
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