适用于: Windows |Windows Server
JetGetTableIndexInfo 函数
JetGetTableIndexInfo 函数检索有关索引的信息。
JET_ERR JET_API JetGetTableIndexInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in const tchar* szIndexName,
__out void* pvResult,
__in unsigned long cbResult,
__in unsigned long InfoLevel
);
参数
sesid
用于 API 调用的数据库会话上下文。
tableid
包含保存所需信息的索引的数据库表。
szIndexName
包含要检索的信息的索引的名称。
pvResult
指向将接收信息的缓冲区的指针。 缓冲区应对齐以保存所需的类型。 缓冲区的类型取决于 InfoLevel 参数。
cbResult
在 pvResult 参数中传递的缓冲区的大小(以字节为单位)。
InfoLevel
指定哪些信息将存储在 pvResult 中。 有效值为:
价值 |
Meaning |
|---|---|
JET_IdxInfo |
pvResult 被解释为 JET_INDEXLIST 结构。 成功后, JET_INDEXLIST 结构将接收有关索引的信息。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoLCID |
pvResult 被解释为 LCID。 成功后,LCID 保留索引的区域设置标识符。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoList |
pvResult 被解释为 JET_INDEXLIST 结构。 成功后, JET_INDEXLIST 结构将接收有关索引的信息。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoOLC |
JET_IdxInfoOLC已过时。 |
JET_IdxInfoResetOLC |
JET_IdxInfoResetOLC已过时。 |
JET_IdxInfoSpaceAlloc |
pvResult 被解释为 ULONG。 成功后,ULONG 将保留索引的空间使用情况。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoSysTabCursor |
JET_IdxInfoSysTabCursor已过时。 |
JET_IdxInfoLangid |
JET_IdxInfoLangid已弃用。 请改用JET_IdxInfoLCID,改用 LANGIDFROMLCID 宏。 |
JET_IdxInfoCount |
pvResult 被解释为 ULONG。 成功后,ULONG 将保留指定表上的索引计数。 szIndexName 将被忽略。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoVarSegMac |
pvResult 被解释为 USHORT。 成功后,USHORT 保留创建索引时使用的 cbVarSegMac 的值。 有关 cbVarSegMac 的说明,请参阅JET_INDEXCREATE。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoIndexId |
pvResult 被解释为 JET_INDEXID。 成功后, JET_INDEXID 结构将接收有关索引的信息。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoKeyMost |
pvResult 被解释为 USHORT。 成功后,USHORT 保留创建索引时使用的 cbKeyMost 的值。 有关 cbKeyMost 的说明,请参阅 JET_INDEXCREATE 结构。 失败时, pvBuffer 的内容未定义。 |
JET_IdxInfoCreateIndex |
pvResult 被解释为 JET_INDEXCREATE 结构。 失败时, pvBuffer 的内容未定义。 Windows 7:Windows 7中引入了 JET_IdxInfoCreateIndex。 |
JET_IdxInfoCreateIndex2 |
pvResult 被解释为 JET_INDEXCREATE2 结构。 失败时, pvBuffer 的内容未定义。 Windows 7:Windows 7中引入了 JET_IdxInfoCreateIndex2。 |
| JET_IdxInfoSpaceOwned |
pvResult 被解释为 .ULONG 成功后,保留 ULONG 索引拥有的页数。 有关详细信息,请参阅注解。
Windows 11中引入了 Windows 11:JET_IdxInfoSpaceOwned。 |
| JET_IdxInfoSpaceAvail |
pvResult 被解释为 .ULONG 成功后,保留 ULONG 索引中可用的页数。 有关详细信息,请参阅注解。
Windows 11中引入了 Windows 11:JET_IdxInfoSpaceAvail。 |
返回值
此函数使用以下返回代码之一返回 JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误 和 错误处理参数。
返回代码 |
Description |
|---|---|
JET_errSuccess |
作已成功完成。 |
JET_errIndexNotFound |
在指定的表中找不到指定的索引。 |
JET_wrnBufferTruncated |
作为 pvResult 传入的缓冲区太小。 缓冲区的内容未定义。 |
注解
JetGetIndexInfo 和 JetGetTableIndexInfo 检索有关索引的相同信息。 区别在于如何指定表。 JetGetIndexInfo 需要一个数据库(dbid)和表的名称(szTableName),而 JetGetTableIndexInfo 需要表标识符(tableid)。
Requirements
| Requirement | 价值 |
|---|---|
客户 |
需要 Windows Vista、Windows XP 或 Windows 2000 专业版。 |
服务器 |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
头 |
在 Esent.h 中声明。 |
库 |
使用 ESENT.lib。 |
DLL |
需要 ESENT.dll。 |
Unicode |
实现为 JetGetTableIndexInfoW (Unicode) 和 JetGetTableIndexInfoA (ANSI)。 |
另请参阅
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_INDEXCREATE
JET_INDEXCREATE2JET_INDEXID
JET_INDEXLISTJetGetIndexInfo