JetTerm2 函数

适用于:Windows |Windows服务器

JetTerm2 函数

JetTerm2 函数启动 JetInit 初始化的实例的关闭。

JetTerm2 还可以销毁 JetCreateInstance 创建的未初始化实例。

    JET_ERR JET_API JetTerm2(
      __in          JET_INSTANCE instance,
      __in          JET_GRBIT grbit
    );

参数

实例

要用于此调用的实例。

Windows 2000:此参数将被忽略,应始终为 NULL

Windows XP 及更高版本:此参数重载。 如果引擎在旧模式下运行, (Windows 2000 兼容模式) 仅支持一个实例,则此参数可能是 NULL,也可能包含 JetInit 返回的实际实例。 如果引擎在多实例模式下运行,则此参数必须是指向使用 JetCreateInstance 创建的实例的指针。

grbit

包含用于此调用的选项的一组位,其中包括以下值中的零个或多个。

含义

JET_bitTermComplete

请求该实例已完全关闭。 在运行时通常会在后台完成的任何可选清理工作都会立即完成。

JET_bitTermAbrupt

请求尽快关闭实例。 通常会在运行时在后台完成的任何可选工作都会被放弃。

注意 此选项可能会导致数据库中的临时或永久空间丢失。 通过数据库的脱机碎片整理,始终可以恢复此丢失的空间。

JET_bitTermStopBackup

请求关闭实例,即使当前正在进行备份也是如此。 通常,挂起的备份会导致 JetTerm 失败,JET_errBackupInProgress。 如果此参数不存在,则假定其值JET_bitTermAbrupt。

JET_bitTermDirty

请求关闭实例,且所有附加数据库都处于脏状态。

Windows 7:Windows 7 中引入了JET_bitTermDirty。

返回值

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

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errBackupInProgress

由于实例上的备份操作正在进行,因此无法完成该操作。

JET_errInvalidParameter

提供的参数之一包含意外值,或多个参数的组合产生了意外的结果。 当引擎处于多实例模式且固定引用无效实例时,JetTerm 将返回此错误。

Windows XP:Windows XP 中引入了此返回值。

JET_errNotInitialized

操作无法完成,因为实例尚未初始化。

JET_errTermInProgress

操作无法完成,因为实例正在关闭。

JET_errRestoreInProgress

无法完成该操作,因为实例上的还原操作正在进行中。

JET_errTooManyActiveUsers

实例无法关闭,因为当前存在具有指定实例的活动事务的会话。 仅当使用JET_bitTermComplete时,才会发生此错误。

如果此函数成功,将关闭指定的实例。 实例句柄也将关闭,并且对采用实例句柄的任何 API 不可用。 与实例关联的所有其他对象(如会话)也将关闭。 检查点文件、事务日志文件和附加到实例的数据库文件的状态将在关闭过程中进行修改。

如果此函数因使用错误而失败,则实例仍处于初始化状态,且不会发生任何更改。 否则,实例仍按成功案例所述关闭。 区别在于,实例在下一次初始化时需要经历崩溃恢复。 引擎将尝试尽可能多地刷新数据,以最大程度地减少所需的恢复量。 从概念上讲, JetTerm 的此类故障与进程崩溃不同。

注解

请参阅 JetTerm

要求

要求

客户端

需要Windows Vista、Windows XP 或 Windows 2000 Professional。

Server

需要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
JetTerm