JetTerm2 函数

适用于: Windows |Windows Server

JetTerm2 函数

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

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

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

parameters

instance

要用于此调用的 实例。

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

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

Windowsxp: 此返回值是在 Windows XP 中引入的。

JET_errNotInitialized

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

JET_errTermInProgress

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

JET_errRestoreInProgress

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

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
JetTerm