JetGetLS 函数

适用于:Windows |Windows服务器

JetGetLS 函数

JetGetLS 函数使应用程序能够检索与游标关联的上下文句柄(称为本地存储)或与该游标关联的表。 以前必须使用 JetSetLS 设置此上下文句柄。 JetGetLS 还可用于同时获取游标或表的当前上下文句柄,并重置该上下文句柄。

Windows XP:JetGetLS 在 Windows XP 中引入。

    JET_ERR JET_API JetGetLS(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_LS* pls,
      __in          JET_GRBIT grbit
    );

参数

sesid

用于此调用的会话。

tableid

要用于此调用的游标。

pls

接收当前与游标或表关联的上下文句柄的输出缓冲区。

grbit

一组指定以下选项的零个或多个位。

含义

JET_bitLSCursor

指示应检索与给定游标关联的上下文句柄。

如果既未指定JET_bitLSCursor也没有指定JET_bitLSTable,则假定JET_bitLSCursor。

此选项不能与JET_bitLSTable一起使用。 如果尝试此操作,则此操作将失败,JET_errInvalidgrbit。

JET_bitLSTable

指示应检索与包含给定游标的表关联的上下文句柄。 将此选项用于JET_bitLSCursor是非法的。 如果尝试此操作,则此操作将失败,JET_errInvalidgrbit。

JET_bitLSReset

指示所选对象的上下文句柄应重置为JET_LSNil。 上下文句柄的当前值在输出缓冲区中返回。

返回值

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

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errClientRequestToStopJetService

无法完成该操作,因为由于调用 JetStopService,与会话关联的实例上的所有活动已停止。

JET_errInstanceUnavailable

无法完成该操作,因为与会话关联的实例遇到了一个致命错误,要求撤销对所有数据的访问权限以保护该数据的完整性。

此错误仅由 Windows XP 和更高版本返回。

JET_errInvalidgrbit

请求的选项之一无效,以非法方式使用或未实现。

当设置了JET_bitLSCursor和JET_bitLSTable时 ,JetGetLS 可能会发生这种情况。

JET_errLSNotSet

无法返回上下文句柄,因为当前没有上下文句柄与请求的对象关联。

注意 如果未指定JET_bitLSReset但未与请求的对象关联上下文句柄,则不会返回此错误。

JET_errNotInitialized

无法完成该操作,因为尚未初始化与会话关联的实例。

JET_errRestoreInProgress

无法完成操作,因为与会话关联的实例上正在进行还原操作。

JET_errTermInProgress

无法完成该操作,因为与会话关联的实例正在关闭。

成功后,上下文句柄已成功从请求的对象检索。 如果指定了JET_bitLSReset,则该上下文句柄也已成功从对象中删除。 不会更改数据库状态。

失败时,不会更改所请求对象的状态。 不会更改数据库状态。

要求

要求

客户端

需要 Windows Vista 或 Windows XP。

Server

需要Windows Server 2008 或 Windows Server 2003。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

另请参阅

JET_ERR
JET_GRBIT
JET_LS
JET_SESID
JET_TABLEID
JetSetLS