JetGetLS 函数
适用于: Windows |Windows Server
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。 |
服务器 |
需要 Windows Server 2008 或 Windows Server 2003。 |
标头 |
在 Esent.h 中声明。 |
Library |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |