JetGetObjectInfo 函数

适用于: Windows |Windows Server

JetGetObjectInfo 函数

JetGetObjectInfo 函数检索有关数据库对象的信息。 目前仅支持表。 JetGetTableInfo 可用于提取比 JetGetObjectInfo 更多的信息。

    JET_ERR JET_API JetGetObjectInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_OBJTYP objtyp,
      __in_opt      const tchar* szContainerName,
      __in_opt      const tchar* szObjectName,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

parameters

sesid

要使用的数据库会话上下文。

dbid

从中检索信息的数据库。

objtyp

包含要检索的信息的对象。 目前,仅支持JET_objtypNil和JET_objtypTable,这两者的行为完全相同。 仅检索表。

szContainerName

此参数保留供将来使用,并传递 NULL。 要检索信息的对象类型的名称。

szObjectName

包含要检索的信息的对象的名称。 当 InfoLevel 使用JET_ObjInfoList或JET_ObjInfoListNoStats选项检索所有对象的列表时,此值应为 NULL 或空字符串。

目前仅支持表名。

pvResult

指向接收指定信息的缓冲区的指针。

缓冲区的大小(以字节为单位)以 cbMax 传递。 失败时, pvResult 的内容未定义。

存储在 pvResult 中的信息取决于 InfoLevel

cbMax

在 pvResult 中传递的缓冲区的大小(以字节为单位)。

InfoLevel

指定要为指定对象检索的信息类型。 它会影响 pvResult 的解释方式。

以下选项可用于为此参数设置。

含义

JET_ObjInfo

pvResult 被解释为 JET_OBJECTINFO 结构。

JET_OBJECTINFO结构填充了与 szObjectName 中命名的对象相关的信息。

如果调用方不想知道对象的记录数和页数,请考虑使用JET_ObjInfoNoStats信息级别,因为不包括统计信息,因此可能会更快。

JET_ObjInfoList

pvResult 被解释为 JET_OBJECTLIST 结构。 检索有关所有对象的信息。 将创建一个临时表, JET_OBJECTLIST结构中 介绍了遍历临时表所需的信息。 有关详细信息,请参阅 JET_OBJECTLIST。 如果调用方不想知道对象的记录数和页数,请考虑使用JET_ObjInfoListNoStats,这可能会更快。

JET_ObjInfoListACM

已弃用,当前不受支持。

JET_ObjInfoListNoStats

pvResult 被解释为 JET_OBJECTLIST 结构。 检索有关所有对象的信息。 将创建一个临时表, JET_OBJECTLIST结构中 介绍了遍历临时表所需的信息。 有关详细信息,请参阅 JET_OBJECTLIST。 JET_ObjInfoListNoStats与 JET_ObjInfoList 相同,只不过不会更新列 (columnidcRecord) 和 columnidcPage) (页的记录数。

JET_ObjInfoMax

pvResult 被解释为 JET_OBJECTINFO。 对象的最大大小以页为单位。 目前仅返回表。

JET_ObjInfoNoStats

pvResult 被解释为 JET_OBJECTINFO。 将仅检索 有关 szObjectName 中给定的对象的信息。

JET_OBJECTINFO结构将填充与 szObjectName 中命名的对象相关的信息。

JET_ObjInfoNoStats与JET_ObjInfo相同,只不过报告记录数和页数的字段设置为零。

JET_ObjInfoRulesLoaded

已弃用,当前不受支持。

JET_ObjInfoSysTabCursor

已弃用,当前不受支持。

JET_ObjInfoSysTabReadOnly

已弃用,当前不受支持。

返回值

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

返回代码

说明

JET_errSuccess

操作已成功完成。

JET_errBufferTooSmall

cbMax 中给定的缓冲区大小太小,无法容纳所需的信息。

JET_errInvalidName

在 szObjectNameszContainerName 中提供了无效的名称。

JET_errInvalidParameter

提供了错误的参数。 错误级别可能已传递到 InfoLevel

备注

如果 JetGetObjectInfo 成功 (JET_ObjInfoList或JET_ObjInfoNoStats) 创建临时表,则调用方负责使用 JetCloseTable 关闭临时表。

JetGetObjectInfo 目前仅支持检索有关表的信息。

要求

要求

客户端

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

服务器

需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。

标头

在 Esent.h 中声明。

Library

使用 ESENT.lib。

DLL

需要ESENT.dll。

Unicode

实现为 JetGetObjectInfoW (Unicode) 和 JetGetObjectInfoA (ANSI) 。

另请参阅

JET_ERR
JET_GRBIT
JET_OBJTYP
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetCloseTable
JetGetTableInfo