JetTerm 函数
适用于: Windows |Windows Server
JetTerm 函数
JetTerm 函数启动已由 JetInit 初始化的实例的关闭。
JetTerm 还可用于销毁 由 JetCreateInstance 创建的未初始化实例。
JET_ERR JET_API JetTerm(
__in JET_INSTANCE instance
);
parameters
instance
指定要用于此调用的 实例。
Windows 2000: 此参数将被忽略,应始终为 NULL。
Windows XP 及更高版本: 此参数重载。 如果引擎在仅支持一个实例的旧模式 (Windows 2000 兼容模式) 运行,则此参数可能为 NULL ,或者可能包含 JetInit 返回的实际实例。 如果引擎在多实例模式下运行,则此参数必须是指向使用 JetCreateInstance 创建的实例的指针。
返回值
此函数返回具有以下返回代码之一 的JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误 和 错误处理参数。
返回代码 |
说明 |
---|---|
JET_errSuccess |
操作已成功完成。 |
JET_errInvalidParameter |
提供的其中一个参数包含意外值,或者多个参数的组合产生了意外的结果。 当引擎处于多实例模式且 pinstance 引用无效实例时,JetTerm 将返回此错误。 Windowsxp: 此返回值是在 Windows XP 中引入的。 |
JET_errNotInitialized |
操作无法完成,因为实例尚未初始化。 |
JET_errTermInProgress |
操作无法完成,因为实例正在关闭。 |
JET_errRestoreInProgress |
无法完成该操作,因为正在实例上进行还原操作。 |
JET_errBackupInProgress |
操作无法完成,因为正在实例上进行备份操作。 |
JET_errTooManyActiveUsers |
无法关闭实例,因为当前存在具有指定实例的活动事务的会话。 仅当使用JET_bitTermComplete时,才会发生此错误。 |
如果此函数成功,则将关闭指定的实例。 实例句柄也将关闭,并且对采用实例句柄的任何 API 不可用。 与实例关联的所有其他对象(如会话)也将关闭。 检查点文件、事务日志文件和附加到实例的数据库文件的状态将在关闭过程中进行修改。
如果此函数因使用错误而失败,则实例将保持初始化状态,且不会发生任何更改。 否则,实例仍会根据成功案例关闭。 不同之处在于,实例下次初始化时需要经历崩溃恢复。 引擎将尝试刷新尽可能多的数据,以最大程度地减少所需的恢复量。 从概念上讲, JetTerm 的此类故障与进程崩溃没有什么不同。
备注
如果在该实例上成功调用 JetTerm 之前,实例的主机进程出于任何原因退出,则该实例被视为处于崩溃状态。 下次尝试初始化该实例时,将发生崩溃恢复。
要求
要求 | 值 |
---|---|
客户端 |
需要 Windows Vista、Windows XP 或 Windows 2000 专业版。 |
服务器 |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
标头 |
在 Esent.h 中声明。 |
Library |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |
另请参阅
可扩展存储引擎文件
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2