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
    );

parameters

instance

用于此调用的实例。

对于 Windows 2000,接受此参数的 API 变体不可用,因为仅支持一个实例。 在本例中,这一全局实例的使用是隐含的。

对于 Windows XP 及更高版本,仅当引擎处于旧模式 (Windows 2000 兼容模式时,才可调用不接受此参数的 API 变体) 其中仅支持一个实例。 否则,操作将失败并出现JET_errRunningInMultiInstanceMode。

hfFile

要读取的文件的句柄。

返回值

此函数返回具有以下返回代码之一 的JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误错误处理参数

返回代码

说明

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。

服务器

需要 Windows Server 2008 或 Windows Server 2003。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

另请参阅

JET_ERR
JET_HANDLE
JET_INSTANCE
JetOpenFileInstance
JetReadFileInstance
JetStopServiceInstance