JetGetTableIndexInfo 函式
適用于: 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中。 有效值為:
值 |
意義 |
---|---|
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: JET_IdxInfoCreateIndex2是在 Windows 7 中引進。 |
傳回值
此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 |
JET_errIndexNotFound |
在指定的資料表中找不到指定的索引。 |
JET_wrnBufferTruncated |
傳遞為 pvResult 的緩衝區太小。 緩衝區的內容未定義。 |
備註
JetGetIndexInfo 和 JetGetTableIndexInfo 會擷取索引的相同資訊。 差異在於如何指定資料表。 JetGetIndexInfo 需要 資料庫 (dbid) ,而且資料表名稱 (szTableName) ,而 JetGetTableIndexInfo 預期資料表識別碼 (tableid) 。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
Server |
需要 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_INDEXID
JetGetIndexInfo