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 可能会发生这种情况:
|
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