JetCloseFileInstance 函数

适用于:Windows |Windows服务器

JetCloseFileInstance 函数

JetCloseFileInstance 函数关闭在使用 JetReadFileInstance 提取该文件中的数据后使用 JetOpenFileInstance 打开的文件。

Windows XP:JetCloseFileInstance 在 Windows XP 中引入。

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

参数

实例

要用于此调用的实例。

对于 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。

Server

需要Windows Server 2008 或 Windows Server 2003。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

另请参阅

JET_ERR
JET_HANDLE
JET_INSTANCE
JetOpenFileInstance
JetReadFileInstance
JetStopServiceInstance