適用対象: Windows |Windows Server
JetGetIndexInfo 関数
JetGetIndexInfo 関数は、インデックスに関する情報を取得します。
JET_ERR JET_API JetGetIndexInfo(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in const tchar* szTableName,
__in const tchar* szIndexName,
__out void* pvResult,
__in unsigned long cbResult,
__in unsigned long InfoLevel
);
パラメーター
sesid
API 呼び出しに使用するデータベース セッション コンテキスト。
dbid
API 呼び出しに使用するデータベース識別子。
szTableName
取得する情報を含むインデックスを含むテーブルの名前。
szIndexName
取得する情報を含むインデックスの名前。
pvResult
目的の情報を受け取るバッファーへのポインター。 バッファーは、必要な型を保持するように配置する必要があります。 バッファーの型は InfoLevel パラメーターに依存します。
cbResult
pvResult として渡されるバッファーのサイズ (バイト単位)。
InfoLevel
pvResult に格納される情報。 このパラメーターには、次のオプションを使用できます。
| 価値 | Meaning |
|---|---|
JET_IdxInfo |
pvResult は、 JET_INDEXLIST 構造体として解釈されます。 成功すると、 JET_INDEXLIST 構造体はインデックスに関する情報を受け取ります。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoCount |
pvResult は ULONG として解釈されます。 成功した場合、ULONG は指定されたテーブルのインデックスの数を保持します。 szIndexName は無視されます。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoIndexId |
pvResult は JET_INDEXIDとして解釈されます。 成功すると、 JET_INDEXID 構造体はインデックスに関する情報を受け取ります。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoLangid |
JET_IdxInfoLangidは非推奨です。 代わりに、JET_IdxInfoLCIDおよび LANGIDFROMLCID マクロを使用してください。 |
JET_IdxInfoLCID |
pvResult は LCID として解釈されます。 成功すると、LCID はインデックスのロケール識別子を保持します。 失敗した場合、 pvBuffer の内容は未定義です。 Windows XP: JET_IdxInfoLCIDは、Windows XPで導入されています。 |
JET_IdxInfoList |
pvResult は 、JET_INDEXLIST 構造体として解釈されます。 成功すると、 JET_INDEXLIST 構造体はインデックスに関する情報を受け取ります。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoOLC |
JET_IdxInfoOLCは廃止されています。 |
JET_IdxInfoResetOLC |
JET_IdxInfoResetOLCは廃止されています。 |
JET_IdxInfoSpaceAlloc |
pvResult は ULONG として解釈されます。 成功すると、ULONG はインデックスのターゲット密度 (ulDensity) を保持します。 ulDensity の説明については、JET_INDEXCREATEを参照してください。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoSysTabCursor |
JET_IdxInfoSysTabCursorは廃止されています。 |
JET_IdxInfoVarSegMac |
pvResult は USHORT として解釈されます。 成功した場合、USHORT はインデックスの作成時に使用される cbVarSegMac の値を保持します。 cbVarSegMac の説明については、JET_INDEXCREATEを参照してください。 失敗した場合、 pvBuffer の内容は未定義です。 |
JET_IdxInfoKeyMost |
pvResult は USHORT として解釈されます。 成功した場合、USHORT はインデックスの作成時に使用される cbKeyMost の値を保持します。 cbKeyMost の説明については、JET_INDEXCREATEを参照してください。 失敗した場合、 pvBuffer の内容は未定義です。 Windows Vista: JET_IdxInfoKeyMostは、Windows Vistaで導入されています。 |
JET_IdxInfoCreateIndex |
pvResult は 、JET_INDEXCREATE 構造体として解釈されます。 失敗した場合、 pvBuffer の内容は未定義です。 Windows 7: JET_IdxInfoCreateIndexは、Windows 7で導入されています。 |
JET_IdxInfoCreateIndex2 |
pvResult は 、JET_INDEXCREATE2 構造体として解釈されます。 失敗した場合、 pvBuffer の内容は未定義です。 Windows 7: JET_IdxInfoCreateIndex2は、Windows 7で導入されています。 |
| JET_IdxInfoSpaceOwned |
pvResult は ULONGとして解釈されます。 成功した場合、 ULONG はインデックスが所有するページの数を保持します。 詳細については、「解説」を参照してください。
Windows 11:JET_IdxInfoSpaceOwned がWindows 11で導入されました。 |
| JET_IdxInfoSpaceAvail |
pvResult は ULONGとして解釈されます。 成功した場合、 ULONG はインデックスで使用可能なページ数を保持します。 詳細については、「解説」を参照してください。
Windows 11:JET_IdxInfoSpaceAvail がWindows 11で導入されました。 |
戻り値
この関数は、次のいずれかのリターン コードを含 むJET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジンエラー と エラー処理パラメーター」を参照してください。
リターン コード |
Description |
|---|---|
JET_errSuccess |
操作が正常に完了しました。 |
JET_errIndexNotFound |
指定したインデックスが指定されたテーブルに見つかりません。 |
JET_wrnBufferTruncated |
pvResult として渡されたバッファーが小さすぎます。 バッファーの内容は未定義です。 |
注釈
JetGetIndexInfo と JetGetTableIndexInfo は、 インデックスに関する同じ情報を取得します。 違いは、テーブルの指定方法です。 JetGetIndexInfo はデータベース (dbid) とテーブルの名前 (szTableName) を受け取りますが、 JetGetTableIndexInfo にはテーブル識別子 (tableid) が必要です。
インデックスによって消費される領域は、$Used + 可用性 = 所有$ によって定義されます。 したがって、使用中のページ数を取得するには、数式 $Owned - 可用性 = Used$ ( JET_IdxInfoSpaceOwned と JET_IdxInfoSpaceAvailで取得可能) を使用します。
必要条件
| Requirement | 価値 |
|---|---|
クライアント |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
サーバー |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
ヘッダー |
Esent.h で宣言されています。 |
ライブラリ |
ESENT.lib を使用します。 |
DLL |
ESENT.dllが必要です。 |
Unicode |
JetGetIndexInfoW (Unicode) および JetGetIndexInfoA (ANSI) として実装されます。 |
こちらもご覧ください
JetGetTableIndexInfoJET_SESID JET_INDEXIDJET_INDEXLISTJET_INDEXCREATE JET_INDEXCREATE2 JET_GRBITJET_ERR JET_TABLEIDJET_COLUMNID